我正在一个项目中,该项目将文件中的数据获取到字节数组中,并在该字节数组中添加“ 0”,直到字节数组的长度为224位。我能够添加零,但是我无法确认多少个零就足够了。所以我想以二进制格式在字节数组中打印文件数据。谁能帮我吗?
对于每个字节:
int
(在下一步中通过自动将byte
扩展到int
)]Integer.toBinaryString()
以产生9位字符串Integer.toBinaryString()
以“删除”前导“ 1”,仅保留8个二进制字符(带有前导零,如果有的话,保持不变)代码为:
String#substring(1)
上述代码的输出(总是8位宽::)>
byte[] bytes = "\377\0\317\tabc".getBytes();
for (byte b : bytes) {
System.out.println(Integer.toBinaryString(b & 255 | 256).substring(1));
}
尝试11111111
00000000
11001111
00001001
01100001
01100010
01100011
您可以像下面的示例一样使用BigInteger
首先用0s初始化字节数组: