我想将一个由8个二进制数组成的字符串转换为一个字节。 我试过这个方法:
byte b = Byte.parseByte(s, 2);
如果字符串是“00000000”,哪个工作正常,但如果是“11111111”则不起作用。
我怀疑与Radix有关,但我无法弄明白。
答案 0 :(得分:1)
Integer.parseInt
的{{1}} 2
Integer.parseInt("11111111", 2)
,只需将整数转换为byte
,就像这样byte
所以完整的代码是:
byte) intValue
<强>输出:强>
System.out.println((byte) Integer.parseInt("11111111", 2));
NB:为什么-1
?因为-1
是从byte
到-128
的8位有符号整数,所以在这里取代127
而不是255
。