学堂 学堂 学堂公众号手机端

在C++中实现Base64编码可以使用现有的Base64库,也可以自己编写实现

lewis 1年前 (2024-03-26) 阅读数 6 #技术

在C++中实现Base64编码可以使用现有的Base64库,也可以自己编写实现。以下是一个使用现有Base64库的示例:

#include<iostream> #include<string> #include<vector> #include<openssl/bio.h> #include<openssl/evp.h> #include<openssl/buffer.h> std::stringbase64_encode(conststd::vector<unsignedchar>&data){ BIO*bio,*b64; BUF_MEM*bufferPtr; b64=BIO_new(BIO_f_base64()); bio=BIO_new(BIO_s_mem()); bio=BIO_push(b64,bio); BIO_set_flags(bio,BIO_FLAGS_BASE64_NO_NL); BIO_write(bio,data.data(),data.size()); BIO_flush(bio); BIO_get_mem_ptr(bio,&bufferPtr); BIO_set_close(bio,BIO_NOCLOSE); BIO_free_all(bio); returnstd::string(bufferPtr->data,bufferPtr->length); } intmain(){ std::stringinput="Hello,World!"; std::vector<unsignedchar>data(input.begin(),input.end()); std::stringencoded=base64_encode(data); std::cout<<"Base64encodedstring:"<<encoded<<std::endl; return0; }

这个示例使用了OpenSSL库中的函数来实现Base64编码。首先定义了一个base64_encode函数来对输入的数据进行Base64编码,然后在main函数中使用示例字符串"Hello,World!"进行编码并输出结果。可以根据实际需求修改输入数据和输出方式。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门