gpt4 book ai didi

c++ - 是否有效,使用 std::string 保存二进制数据,以避免手动动态内存管理

转载 作者:IT老高 更新时间:2023-10-28 12:40:47 29 4
gpt4 key购买 nike

注意http://www.adp-gmbh.ch/cpp/common/base64.html中的base64_decode

std::string base64_decode(std::string const& encoded_string)

该函数假设返回字节数组来表示二进制数据。但是,该函数返回 std::string。我的猜测是,作者试图避免执行显式动态内存分配。

我尝试验证输出是否正确。

int main()
{
unsigned char data[3];
data[0] = 0; data[1] = 1; data[2] = 2;
std::string encoded_string = base64_encode(data, 3);
// AAEC
std::cout << encoded_string << std::endl;


std::string decoded_string = base64_decode(encoded_string);
for (int i = 0; i < decoded_string.length(); i++) {
// 0, 1, 2
std::cout << (int)decoded_string.data()[i] << ", ";
}
std::cout << std::endl;
getchar();
}

解码输出正确。只是想确认一下,std::string保存二进制数据是否有效,避免手动动态内存管理。

std::string s;
s += (char)0;
// s.length() will return 1.

最佳答案

是的,您可以将任何 char 序列存储在 std::string 中。这包括任何二进制数据。

关于c++ - 是否有效,使用 std::string 保存二进制数据,以避免手动动态内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4655206/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com