java - java如何将字节转换为它的二进制字符串表示形式

  显示原文与译文双语对照的内容
97 5

例如,字节 B 中的位是 10000010,如何以字符串形式指定字符串 str,即 str ="10000010"

编辑

我从二进制文件读取字节,并存储在字节 array B 中。我使用System.out.println(Integer.toBinaryString(B[i]))问题是

当比特以( 最左边) 1开头时,输出不正确,因为它将 B[i] 转换为负整数值。

( b ) 如果位以 0 开头,输出忽略 0,例如假定 B[0] 为 00000001,输出为 1,而不是 00000001

时间:原作者:0个回答

110 3

使用 Integer#toBinaryString() 插件:

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

演示

原作者:
...