加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 09:52:08 所属栏目:百科 来源:网络整理
导读:我很惊讶在 this question看到有人修改了一个工作片段只是因为,正如第二个答案的作者所说: it didn’t seem appropriate to me that I should work with binary data stored within std::string object 我不应该这样做吗? 解决方法 对于我认为的二进制数据
我很惊讶在 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的少数几件事之一:这种限制使得例如如果文件名具有“错误”(意外)编码或者如果文件名具有“错误”(意外)编码,则无法使用文件选择对话框打开文件编码实际上是无效的(它包含错误).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读