Java如何在Java中解析uint8?

我有一个来自UDP数据包的 (无符号8位整数) 。Java仅使用带符号的原语。如何使用Java正确解析此数据结构?

回答:

只需将其作为字节读取,然后转换为int即可。

byte in = udppacket.getByte(0); // whatever goes here

int uint8 = in & 0xFF;

需要位掩码,因为否则,将位8设置为1的值将转换为负int。例:

This:                                   10000000

Will result in: 11111111111111111111111110000000

因此,当您随后对其应用位掩码0xFF时,前导1将被抵消。供您参考:0xFF == 0b11111111

以上是 Java如何在Java中解析uint8? 的全部内容, 来源链接: utcz.com/qa/433462.html

回到顶部