如何解释一个双字节值?

问题描述 投票:0回答:1

我试图读取首先存储低位字节的2字节值。因此,如果2个字节是10和85的顺序(十进制),它们代表的数字是多少? 8510? 851?或者不同的东西?

这些值表示编码序列的长度,我需要知道正确处理其包含的信息的长度。大多数只使用第一个字节,作为十进制数,它准确地表示序列中的字符(或字节)总数...但有些使用两个字节,我不明白如何解释它们。

如果有人可以帮助我,我会很感激。

谢谢

byte
1个回答
0
投票

你所指的是两字节值(也称为WORD)的“字节序”。根据十进制值来讨论它们通常不被认为是有益的,因为如果字节是1085(十进制),则值不会是10/85的任何组合。相反,以十六进制值显示它们要谨慎得多。

+----+----+
|0x0a|0x55|
+----+----+

要将其解释为Little Endian,值将为0x550a(十进制的21770)。在Big Endian中(最高位字节优先),值为0x0a552645 decimal)。

因此,非常重要的是要知道系统的字节顺序并能够正确处理这两者。值得注意的是,“网络字节顺序”是Big Endian。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.