基本上,我想要的是将"123456"
这样的字符串转换为无符号字节数组:[1, 226, 64]
。不过,我处处留心,我发现什么是获得2的补(签字)字节数组[1, -30, 64]
:如何将表示一个整数的字符串转换为Java中的无符号字节数组?
byte[] array = new BigInteger("123456").toByteArray();
System.out.println(Arrays.toString(array));
OUTPUT:
[1, -30, 64]
那么,怎么能够在Java中做了什么?我想输出是:
[1, 226, 64]
编辑:我知道字节只能容纳多达127个,所以不是字节数组,我需要它是int数组。
Java中没有'unsigned byte'类型,因此您必须将其转换为'signed short/int'数组。 – Crozin 2012-03-05 21:24:22