c – 使用std :: string存储二进制数据是不合适的吗?

c – 使用std :: string存储二进制数据是不合适的吗?,第1张

概述我很惊讶在 this question看到有人修改了一个工作片段只是因为,正如第二个答案的作者所说: it didn’t seem appropriate to me that I should work with binary data stored within std::string object 我不应该这样做吗? 对于我认为的二进制数据,最好的选择是std :: vector< unsi 我很惊讶在 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存储二进制数据是不合适的吗?全部内容,希望文章能够帮你解决c – 使用std :: string存储二进制数据是不合适的吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1216045.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存