gpt4 book ai didi

c - 字符串中没有大端和小端?

转载 作者:行者123 更新时间:2023-12-01 21:35:38 24 4
gpt4 key购买 nike

我们知道不同的字节排序机器将对象存储在内存中,从最低有效字节到最高有效字节,而其他机器从最高到最低顺序存储它们。例如十六进制值 0x01234567。

enter image description here

所以如果我们编写一个 C 程序打印内存地址的每个字节,大端和小端机器会产生不同的结果。

但对于字符串,在任何使用 ASCII 作为其字符代码的系统上都会获得相同的结果,而与字节顺序和字长约定无关。因此,文本数据比二进制数据更独立于平台。

所以我的问题是,为什么我们对二进制数据区分大端和小端,我们可以使它与平台无关的文本数据相同。只在二进制数据中制作大端和小端机器有什么意义?

最佳答案

无论字节序约定如何,数组元素始终从低到高寻址。

ASCII 和 UTF-8 字符串是 char 的数组,不是多字节类型,不受字节序约定的影响。

“宽”字符串,其中每个字符都由 wchar_t 或其他多字节类型表示,将受到影响,但仅限于单个元素,而不是整个字符串。

关于c - 字符串中没有大端和小端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62001896/

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