我一直在从流中逐字节读取这些字节。例如,我这样阅读此行。
int payloadLength = r.readUnsignedShort();
我的问题是2字节的值是3100,所以原来是12544,但是我想只能读为31,这使其只有49。如何忽略多余的00。我不太了解LS字节如何忽略呢?
将值右移8位,然后用0xFF进行。
int payloadLength = r.readUnsignedShort();
payloadLength = (payloadLength >>> 8)& 0xFF;
System.out.println(payLoadLength);
通常,仅读取16位,由于高位为0,因此您不必使用0xFF
。但是我认为这是一个好习惯,并且将来会避免可能出现的问题。