C++ base64 解码程序
时间: 2024-06-02 08:04:15 浏览: 164
base64编解码(C++)
5星 · 资源好评率100%
C++ 中可以使用 OpenSSL 库来实现 base64 解码。OpenSSL 库提供了一个名为 BIO 的 I/O 抽象层,可以将不同类型的数据进行编解码,并提供了一系列的编解码器。其中,base64 编解码器的函数为 BIO_f_base64()。
下面是一个简单的 C++ 示例程序,演示了如何使用 OpenSSL 库进行 base64 解码:
```cpp
#include <openssl/bio.h>
#include <openssl/evp.h>
#include <iostream>
#include <string>
int main() {
// 待解码的字符串
std::string encoded_str = "SGVsbG8gV29ybGQh";
// 创建一个 base64 解码器
BIO* b64 = BIO_new(BIO_f_base64());
// 创建一个内存读取器
BIO* mem = BIO_new_mem_buf(encoded_str.c_str(), encoded_str.length());
// 将 base64 解码器连接到内存读取器上
BIO_push(b64, mem);
// 解码后的数据将存储在这个缓冲区中
char buffer[1024];
int len = 0;
// 从解码器中读取数据到缓冲区中
while ((len = BIO_read(b64, buffer, 1024)) > 0) {
std::cout << std::string(buffer, len);
}
// 释放资源
BIO_free_all(b64);
return 0;
}
```
阅读全文