Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将本机uint8_t(Java字节)转换为int_Java_C++_Java Native Interface - Fatal编程技术网

将本机uint8_t(Java字节)转换为int

将本机uint8_t(Java字节)转换为int,java,c++,java-native-interface,Java,C++,Java Native Interface,我有一个本机函数(来自库),它对uint8\u t类型(无符号8位数字0-255)执行一些工作。Java最接近的东西是必须签名的字节 如何将这个字节转换为一个正确的正整数,以便在Java中使用?我知道我必须将其存储在short或int中,以便正确表示0-255之间的数字,但我不知道如何转换字节 我尝试了intValue=byteValue&0xFF,但这给了我意想不到的结果,所以我怀疑这是不正确的。或者这是正确的,我误解了本机库函数的预期结果。无论哪种方式,您都希望得到确认。在Java中,您可以

我有一个本机函数(来自库),它对uint8\u t类型(无符号8位数字0-255)执行一些工作。Java最接近的东西是必须签名的字节

如何将这个字节转换为一个正确的正整数,以便在Java中使用?我知道我必须将其存储在shortint中,以便正确表示0-255之间的数字,但我不知道如何转换字节


我尝试了
intValue=byteValue&0xFF,但这给了我意想不到的结果,所以我怀疑这是不正确的。或者这是正确的,我误解了本机库函数的预期结果。无论哪种方式,您都希望得到确认。

在Java中,您可以使用Guava库函数将字节转换为int,将其视为无符号:。因此,如果将C++未签名值的值作为字节返回给java,则可以将其修复。


如果您想将其转换为int,然后将其作为int返回给java,这应该非常简单。

您所尝试的是正确的。您应该仔细检查本机库中的结果,并用实际结果和预期结果编辑您的问题。谢谢,我现在只需要这些。我们需要深入研究文档并编写更多代码来解决这个问题。您好@Tenfour04,我也有您的问题,您有解决方案吗?不管怎样,你的尝试似乎给了我正确的价值观