如何将Int转换为无符号字节并返回

我需要将数字转换为无符号字节。该数字始终小于或等于255,因此它将适合一个字节。

我还需要将该字节转换回该数字。我将如何用Java做到这一点?我尝试了几种方法,但均无效果。这是我现在想要做的:

int size = 5;

// Convert size int to binary

String sizeStr = Integer.toString(size);

byte binaryByte = Byte.valueOf(sizeStr);

现在将该字节转换回数字:

Byte test = new Byte(binaryByte);

int msgSize = test.intValue();

显然,这是行不通的。由于某种原因,它总是将数字转换为65。有什么建议?

回答:

字节始终用Java签名。但是,您可以通过将二进制与0xFF相乘来获得其无符号值:

int i = 234;

byte b = (byte) i;

System.out.println(b); // -22

int i2 = b & 0xFF;

System.out.println(i2); // 234

以上是 如何将Int转换为无符号字节并返回 的全部内容, 来源链接: utcz.com/qa/414001.html

回到顶部