osgDB.Base64decoder
是一个用于将 Base64 编码的数据解码成原始数据的类。Base64 是一种编码方法,它可以将二进制数据转换成纯文本格式,以便于网络传输,但其编码方式不易被一些非 Base64 编码的工具所解析。
osgDB.Base64decoder
是一个具有简单接口的类,它只有一个构造函数和一个重载的方法 decode()
。
osgDB::Base64decoder()
构造函数不需要传入任何参数。
bool osgDB::Base64decoder::decode(const char *inData, unsigned int inLength, unsigned char **outData, unsigned int *outLength)
inData
: 一个指向 Base64 编码数据的 char 数组。inLength
: inData
的长度。outData
: 一个指向输出数据的 unsigned char 指针。outLength
: 解码后的数据长度。如果解码成功则返回 true
,否则返回 false
。
#include <osgDB/Base64>
#include <iostream>
int main()
{
const char* inputData = "SGVsbG8gV29ybGQh";
unsigned char* outputData = nullptr;
unsigned int outputLength = 0;
osgDB::Base64decoder base64decoder;
bool decodeResult = base64decoder.decode(inputData, strlen(inputData), &outputData, &outputLength);
if (decodeResult)
{
std::cout << "Decode result: " << outputData << std::endl;
}
else
{
std::cout << "Decode failed." << std::endl;
}
return 0;
}
outData
在函数调用结束后需要手动释放内存。inData
的长度必须是 4 的倍数。