Java |二进制字符串到字节

时间:2016-05-13 10:12:02

标签: java binary byte

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

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

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

我怀疑与Radix有关,但我无法弄明白。

1 个答案:

答案 0 :(得分:1)

  1. 使用基数Integer.parseInt的{​​{1}} 2
  2. 然后,如果你真的希望它作为Integer.parseInt("11111111", 2),只需将整数转换为byte,就像这样byte
  3. 所以完整的代码是:

    byte) intValue

    <强>输出:

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

    NB:为什么-1 ?因为-1是从byte-128的8位有符号整数,所以在这里取代127而不是255