gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 11:45:18 31 4
gpt4 key购买 nike

例如,一个字节B中的位是10000010,我怎样才能将这些位从字面上分配给字符串str,即, str = "10000010".

编辑

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

(a) 当位以(最左边的)1 开始时,输出不正确,因为它将 B[i] 转换为负 int 值。

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

最佳答案

使用 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

DEMO

关于java - 如何将字节转换为其二进制字符串表示形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12310017/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com