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

时间:2016-11-19 09:09:55

标签: java binary byte

我尝试通过代码

从10000101转换为-123
byte sum = (byte) (Integer.valueOf(10000101, 2) & 0xffff) "; 

现在我不知道如何从-123转换回10000101。

有关使用java API进行转换的任何建议吗?

1 个答案:

答案 0 :(得分:1)

扩展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')在这种情况下不是必须的,因为二进制结果字符串以1开始(10000101)。