将byte []转换为String

Dam*_*mir 2 java binary bytearray

有没有一种简单的方法可以打印byte[]数组(零和1,基本上每个位转换为ascii'1'或ascii'0')到控制台?

Sea*_*oyd 7

您可以通过将其数值转换为基数2来输出单个字节.以下是两种方法.在这两个中,我将使用这个字节数组:

byte[] array = "HälLø123§$%".getBytes();
Run Code Online (Sandbox Code Playgroud)

走阵列

for(final byte b : array){
    System.out.print(Integer.toString(b & 0xFF /* thx Jason Day */, 2));
}
Run Code Online (Sandbox Code Playgroud)

输出:

10010001100001110100100110110010011001100001110111000110001011001001100110110000101010011110010001001010

参考:

使用BigInteger

如果要将整个阵列输出为一个整体,请使用BigInteger:

System.out.println(new BigInteger(array).toString(2));
Run Code Online (Sandbox Code Playgroud)

输出:

100100011000011101001000110110001001100110000111011100000110001001100100011001111000010101001110010010000100101

参考: