我试图读取首先存储低位字节的2字节值。因此,如果2个字节是10和85的顺序(十进制),它们代表的数字是多少? 8510? 851?或者不同的东西?
这些值表示编码序列的长度,我需要知道正确处理其包含的信息的长度。大多数只使用第一个字节,作为十进制数,它准确地表示序列中的字符(或字节)总数...但有些使用两个字节,我不明白如何解释它们。
如果有人可以帮助我,我会很感激。
谢谢
你所指的是两字节值(也称为WORD)的“字节序”。根据十进制值来讨论它们通常不被认为是有益的,因为如果字节是10和85(十进制),则值不会是10/85的任何组合。相反,以十六进制值显示它们要谨慎得多。
10
85
+----+----+ |0x0a|0x55| +----+----+
要将其解释为Little Endian,值将为0x550a(十进制的21770)。在Big Endian中(最高位字节优先),值为0x0a55(2645 decimal)。
0x550a
21770
0x0a55
2645
因此,非常重要的是要知道系统的字节顺序并能够正确处理这两者。值得注意的是,“网络字节顺序”是Big Endian。