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