gpt4 book ai didi

c++ - 使用 std::string 存储二进制数据不合适吗?

转载 作者:太空狗 更新时间:2023-10-29 20:13:05 27 4
gpt4 key购买 nike

我很惊讶地看到this question有人修改了一个工作片段只是因为,正如第二个答案的作者所说:

it didn't seem appropriate to me that I should work with binary data stored within std::string object

我有理由不这样做吗?

最佳答案

在我看来,对于二进制数据,最好的选择是 std::vector<unsigned char> .

使用 std::string虽然技术上可行,但会向用户发送错误消息,即正在处理的数据是文本。

另一方面,能够接受字符串中的任何字节很重要,因为有时您知道内容是文本,但编码未知。强制std::string仅包含有效和解码的文本将是现实世界使用的一大限制。

这种限制是我不喜欢 QString 的为数不多的事情之一。 : 此限制使得无法使用文件选择对话框打开文件,如果文件名具有“错误”(意外)编码或编码实际上无效(它包含错误)。

关于c++ - 使用 std::string 存储二进制数据不合适吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23475276/

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