Java 在二进制中打印前导 0

Java Printing Leading 0's in Binary

我有一个字节数组,我想在 binary.I 中打印它可以遍历该数组并将 Integer.toString(byteArray[i], 2)Integer.toBinaryString 连接到一个字符串,但是任何以一个 0 会将那个 0 修剪掉。我怎样才能避免这种情况?

例如,如果数组是:

{0b11110000, 0b10101010, 0b11001100, 0b00001111}

我会得到:

1111000010101010110011001111     // what is printed
11110000101010101100110000001111 // what I want
// 0's are missing      ^--^

像本例一样使用字符串格式:

byte b2 = (byte) 2;
String s2 = String.format("%8s", Integer.toBinaryString(b2 & 0xFF)).replace(' ', '0');
System.out.println(s2); // 00000010