java中可以有从0到255的字节吗?

rLi*_*res 0 c# java primitive-types

我有系统(在c#中)来控制用户访问。对于特定情况,
我需要在java中具有相同的访问控制器。
该控制器具有密码算法(rijndael)。我的问题是这个算法使用字节数组(byte[]);这个字节类型在c#中是0 to 255,在java中是-128 to 127。这种差异会产生不同的结果。

如何使这两个代码使用相同的字节数组

PS:我无法更改c#代码;如果可以的话,我会使用 sbyte 而不是 byte。

Pet*_*rey 5

当您将无符号字节 [] 读入有符号字节 [] 时,在此过程中不会损坏任何位,也不会丢失任何数据。区别仅在于如何处理最高位。如果你想将有符号字节转换为 0 到 255 之间的值,你可以用 0xFF 来表示,例如

int value = bytes[i] & 0xFF;
Run Code Online (Sandbox Code Playgroud)