先读小尾数–整数的LS字节如何忽略额外的0

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

我一直在从流中逐字节读取这些字节。例如,我这样阅读此行。

int payloadLength = r.readUnsignedShort();

我的问题是2字节的值是3100,所以原来是12544,但是我想只能读为31,这使其只有49。如何忽略多余的00。我不太了解LS字节如何忽略呢?

java endianness
1个回答
0
投票

将值右移8位,然后用0xFF进行。

int payloadLength = r.readUnsignedShort();

payloadLength = (payloadLength >>> 8)& 0xFF;
System.out.println(payLoadLength);

通常,仅读取16位,由于高位为0,因此您不必使用0xFF。但是我认为这是一个好习惯,并且将来会避免可能出现的问题。

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