c 样式字符串的字节序问题

Posted

技术标签:

【中文标题】c 样式字符串的字节序问题【英文标题】:endiannes issues with c style strings 【发布时间】:2013-10-08 08:11:15 【问题描述】:

我正在阅读一些关于字节序的教程。得到整数部分。但 剩下的教程提到是否也适用字节顺序问题 对于 C 风格的字符串,没有提及正确答案。 字节序是否适用于 C 风格的字符串? 根据我的理解,不,我是对的吗?

例如,如果我有这样存储的字符串“cap”

char:    c    a    p   \0
addr: 1000 1001 1002 1003

假设它被写入文件。当来自不同字节序的人阅读它时,我认为它应该还可以,不是吗?

【问题讨论】:

【参考方案1】:

字节顺序仅适用于长度超过一个字节的实体。因此,narrow C 字符串是char 的数组应该没问题。

但是,如果您有wchar_t[] 类型的宽字符串,那么您绝对应该关注正确处理字节序。

【讨论】:

以上是关于c 样式字符串的字节序问题的主要内容,如果未能解决你的问题,请参考以下文章

C++socket编程,数据转为网络字节序的问题htons

wchar_t 数据是不是需要字节序转换?

C memcpy 以小字节序复制字节

网络字节序的转换函数

c++接收数据的时候,需要把网络字节序转成主机字节序吗

Lua,处理非ascii字节流,字节序变化