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

时间:2015-02-26 21:12:28

标签: java c# primitive-types

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

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

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

2 个答案:

答案 0 :(得分:4)

当您将无符号字节[]读入有符号字节[]时,在此过程中不会损坏任何位,也不会丢失任何数据。不同之处仅在于如何处理顶部位。如果你想在0到255之间的值中转换一个有符号的字节,你可以&它有0xFF,例如

int value = bytes[i] & 0xFF;

答案 1 :(得分:1)

有人为您可以使用的无符号类型开发了一个库: https://github.com/jOOQ/jOOU