字节序只会影响数字的内存布局,而不影响字符串吗?

时间:2011-04-27 13:23:44

标签: endianness

无论架构是大端还是小端,只有数字的内存布局不同,字符串的内容是相同的,这是真的吗。

4 个答案:

答案 0 :(得分:11)

如果你有一个简单的8位字符表示(例如扩展的ASCII),那么不,字节顺序不会影响布局,因为每个字符都是一个字节。

如果你有一个多字节表示,如UTF-16,那么是的,字节顺序仍然很重要(参见例如http://en.wikipedia.org/wiki/UTF-16#Byte_order_encoding_schemes)。

答案 1 :(得分:1)

对于正确的1字节字符串。对于unicode字符串(2个字节/字符),会有区别。

答案 2 :(得分:1)

这通常不正确。根据具体情况,字符可能会使用多个字节,在这种情况下,字符的小端编码和字符的大端编码之间存在差异。

答案 3 :(得分:1)

在大多数情况下,你应该明白为什么。 Big vs little endian指的是多字节数据类型(如整数)中的字节顺序。 ASCII字符只是一个字节。

但请注意,unicode字符是多个字节,因此字节顺序很重要。整个unicode点是ASCII中的单个字节只能编码256个不同的值,这对于世界上所有语言来说都是不够的。

请参阅此处以获取有关字节序含义的更多信息: http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/endian.html