Base64学习

为什么会有base64呢?

为了把二进制内容安全转成文本字符串。

比如:

1、邮件的附件,附件是base64编码嵌入在邮件中((小的附件)

2、后端把图片信息base64数据嵌入到API响应中,前端负责显示

cpp 复制代码
bool MyFileUtil::ReadFileAsBase64(const std::wstring& filePath, std::string& base64FileData)
{
    base64FileData.clear();
    HANDLE hFile = ::CreateFileW(filePath.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (hFile == INVALID_HANDLE_VALUE)
    {
        return false;
    }

    std::unique_ptr<std::remove_pointer<HANDLE>::type, decltype(&::CloseHandle)> uh(hFile, ::CloseHandle);
    DWORD fileSize = ::GetFileSize(hFile, NULL);
    if (fileSize == 0)
    {
        return false;
    }

    DWORD readSize = 0;
    std::unique_ptr<char[]> up(new char[fileSize]);
    if (!::ReadFile(hFile, up.get(), fileSize, &readSize, nullptr) || readSize == 0)
    {
        return false;
    }

    MyUtil::Base64Encode(std::string(up.get(), readSize), base64FileData);
    return !base64FileData.empty();
}
相关推荐
通信小呆呆15 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
H__Rick15 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee15 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
Alsn8615 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e15 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨15 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙
cqbzcsq15 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
YangYang9YangYan15 天前
2026初入职场学习数据分析的价值
学习·数据挖掘·数据分析
guslegend15 天前
理论学习:什么是 Coding Agent?
学习
自传.15 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding