Java Printing在二进制中领先0

时间:2015-02-25 15:55:45

标签: java binary tostring

我有一个字节数组,我想用二进制打印。我可以循环遍历数组并将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      ^--^

1 个答案:

答案 0 :(得分:1)

使用类似于此示例的字符串格式:

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