将Byte []读作无符号短Java

Ame*_*een 7 java

我需要读取16位的字节数组作为无符号短数,而Java不支持无符号短类型.
那我该怎么办?请帮忙!!

Fra*_*ank 9

假设您将其作为来自非Java源的二进制数据提供,您必须阅读并使用Java中的值:将其作为(签名)读取short,然后将其转换int为如下所示:

int intVal = shortVal >= 0 ? shortVal : 0x10000 + shortVal 
Run Code Online (Sandbox Code Playgroud)

你不能用short表示unsigned short的所有值,但是在int中,你可以.