中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C++怎么實現Base64編碼

c++
小億
221
2024-02-21 09:17:22
欄目: 編程語言

在C++中實現Base64編碼可以使用現有的Base64庫,也可以自己編寫實現。以下是一個使用現有Base64庫的示例:

#include <iostream>
#include <string>
#include <vector>
#include <openssl/bio.h>
#include <openssl/evp.h>
#include <openssl/buffer.h>

std::string base64_encode(const std::vector<unsigned char> &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);

    return std::string(bufferPtr->data, bufferPtr->length);
}

int main() {
    std::string input = "Hello, World!";
    std::vector<unsigned char> data(input.begin(), input.end());
    std::string encoded = base64_encode(data);

    std::cout << "Base64 encoded string: " << encoded << std::endl;

    return 0;
}

這個示例使用了OpenSSL庫中的函數來實現Base64編碼。首先定義了一個base64_encode函數來對輸入的數據進行Base64編碼,然后在main函數中使用示例字符串"Hello, World!"進行編碼并輸出結果。可以根據實際需求修改輸入數據和輸出方式。

0
个旧市| 南澳县| 青岛市| 萍乡市| 铜陵市| 辽阳县| 台东市| 柳州市| 凌海市| 潞西市| 临安市| 唐山市| 永春县| 双柏县| 巴彦县| 兴山县| 武鸣县| 古浪县| 青铜峡市| 彭山县| 广灵县| 锡林浩特市| 灵台县| 玉田县| 仪征市| 闽清县| 淄博市| 宾阳县| 乾安县| 万全县| 长宁区| 武清区| 林西县| 普安县| 文山县| 平邑县| 永安市| 高碑店市| 广宁县| 乐都县| 玛纳斯县|