我有一个原生函数(来自库),可以对 uint8_t 类型(无符号8位数0-255)进行一些操作。 Java最接近的是 byte ,必须签名。
如何将此字节转换为适合在Java中使用的正整数?我知道我必须将它存储在短或 int 中才能正确表示0-255之间的数字,但我不知道如何转换字节
我尝试了int intValue = byteValue & 0xFF;
,但这给了我意想不到的结果,所以我怀疑它是不正确的。或者这是正确的,我误解了本机库函数的预期结果。无论如何都要欣赏确认。
答案 0 :(得分:0)
在Java中,您可以使用Guava库函数将字节转换为int,将其视为无符号:UnsignedBytes.toInt。因此,如果您将C ++无符号值的值作为字节返回给Java,则可以将其修复。
如果你想把它变成一个int然后把它作为一个int返回给java,那应该是非常简单的。