【发布时间】:2012-03-23 08:51:25
【问题描述】:
基本上,我想要的是将"123456" 之类的字符串转换为无符号字节数组:[1, 226, 64]。然而,我到处寻找,我发现得到的是 2 的补码(有符号)字节数组[1, -30, 64]:
byte[] array = new BigInteger("123456").toByteArray();
System.out.println(Arrays.toString(array));
输出:
[1, -30, 64]
那么,如何在 Java 中实现呢?我希望输出是:
[1, 226, 64]
编辑:我知道字节最多只能容纳 127 个,所以我需要它而不是字节数组是 int 数组。
【问题讨论】:
-
Java 中没有
unsigned byte类型,因此您必须将其转换为signed short/int数组。
标签: java bytearray byte unsigned