用于c ++跨平台的Base64编码/解码库?

时间:2015-04-02 18:32:59

标签: c++ linux windows base64

我看过谷歌,我似乎无法找到一个简单的编码/解码base64库,它接受一个字符串并返回一个字符串。

任何人都知道可以在Windows和Linux上使用的任何库吗?

1 个答案:

答案 0 :(得分:1)

真的?一个简单的谷歌搜索出现了这个:

http://www.opensource.apple.com/source/QuickTimeStreamingServer/QuickTimeStreamingServer-452/CommonUtilitiesLib/base64.c

有一个相应的.h头文件here

看起来很容易使用:

 char* data = // your initialization here
 int data_length = // your data length here
 int encoded_data_length = int Base64encode_len(data_length);
 char* base64_string = malloc(encoded_data_length);

 Base64encode(base64_string, data, data_length);
 // "base64_string" is a null terminated string that is an encoding of the
 // binary data pointed to by "data"

从base64字符串到解码二进制数据的相应转换也很容易:

char* data = NULL;
int data_length = 0;
int alloc_length = Base64decode_len(base64_string);
some_random_data = malloc(alloc_length);
data_length = Base64decode(data, base64_string);