C++用二进制流打开一幅jpg图片并转换为base64码

直接上代码:

#include 
#include "base64.h" //网上下载
#include  //主要用来读图片的库
using namespace std;

int main() {
    ifstream is("face_me4.jpg", ifstream::in | ios::binary);
    is.seekg(0, is.end);
    int length = is.tellg();
    is.seekg(0, is.beg);

    char *buffer = new char[length];
    is.read(buffer, length);
    //主要注意这一句是利用base64.h文件中的编码函数将buffer编码为base64码
    std::string img = aip::base64_encode(buffer, length);
    //打印img看一下
    cout << img << endl;
    //删除buffer
    delete[]buffer;
    //关闭指针
    is.close();
    return 0;
}

运行结果:(base64编码太长了,截不全,反正就长这个样子。。)


注:

下载base.h头文件的时候建议打开看一下头文件中是否有base64_encode和base64_decode函数,我的头文件是从百度智能云里的一个sdk中的,附链接:
https://ai.baidu.com/download?sdkId=82

解压后里面有一个base文件夹,里面有base64.h头文件。

你可能感兴趣的:(C++用二进制流打开一幅jpg图片并转换为base64码)