如何在java中将字节转换为二进制?

如何在java中将字节转换为二进制?,java,binary,byte,Java,Binary,Byte,我已尝试通过代码从10000101转换为-123 byte sum = (byte) (Integer.valueOf(10000101, 2) & 0xffff) "; 现在我不知道如何从-123转换回10000101 关于使用JavaAPI进行转换有什么建议吗 稍微扩展一下David Wallace的评论,您可以使用以下代码: String fromByteToString = String.format("%8s", Integer.toBinaryString(sum

我已尝试通过代码从10000101转换为-123

byte sum = (byte) (Integer.valueOf(10000101, 2) & 0xffff) "; 
现在我不知道如何从-123转换回10000101


关于使用JavaAPI进行转换有什么建议吗

稍微扩展一下David Wallace的评论,您可以使用以下代码:

    String fromByteToString = String.format("%8s", Integer.toBinaryString(sum & 0xFF)).replace(' ', '0');
    System.out.println(fromByteToString);
使用
sum&0xFF
执行按位AND运算:

-123 = 11111111111111111111111110000101
0xFF = 00000000000000000000000011111111
res. = 00000000000000000000000010000101

请注意,
replace(“”,'0')
在这种情况下不是必须的,因为二进制结果字符串(10000101)以1开头。

您知道
Integer
类的
toBinaryString
方法吗?@community。。这不是同一个问题。。OP在此要求将字节转换为二进制字符串。。这是一个完全不同的问题。。。