Java |二进制字符串转字节

Java | Binary string to byte

我想将一个由8个二进制数组成的字符串转换成一个字节。 我试过这个方法:

byte b = Byte.parseByte(s, 2);

如果字符串是“00000000”,它工作正常,但如果它是“11111111”,则不起作用。

我怀疑是不是和Radix有关,但我想不通。

  1. 像这样使用 Integer.parseInt 和基数 2 Integer.parseInt("11111111", 2)
  2. 然后如果你真的想要它作为 byte 只需将整数转换为 byte 像这样 (byte) intValue

所以完整的代码是:

System.out.println((byte) Integer.parseInt("11111111", 2));

输出:

-1

注意: 为什么 -1?因为 byte 是从 -128127 的 8 位有符号整数,所以这里不是 255 你得到 -1.