Java |二进制字符串转字节
Java | Binary string to byte
我想将一个由8个二进制数组成的字符串转换成一个字节。
我试过这个方法:
byte b = Byte.parseByte(s, 2);
如果字符串是“00000000”,它工作正常,但如果它是“11111111”,则不起作用。
我怀疑是不是和Radix有关,但我想不通。
- 像这样使用
Integer.parseInt
和基数 2
Integer.parseInt("11111111", 2)
- 然后如果你真的想要它作为
byte
只需将整数转换为 byte
像这样 (byte) intValue
所以完整的代码是:
System.out.println((byte) Integer.parseInt("11111111", 2));
输出:
-1
注意: 为什么 -1
?因为 byte
是从 -128
到 127
的 8 位有符号整数,所以这里不是 255
你得到 -1
.
我想将一个由8个二进制数组成的字符串转换成一个字节。 我试过这个方法:
byte b = Byte.parseByte(s, 2);
如果字符串是“00000000”,它工作正常,但如果它是“11111111”,则不起作用。
我怀疑是不是和Radix有关,但我想不通。
- 像这样使用
Integer.parseInt
和基数2
Integer.parseInt("11111111", 2)
- 然后如果你真的想要它作为
byte
只需将整数转换为byte
像这样 (byte) intValue
所以完整的代码是:
System.out.println((byte) Integer.parseInt("11111111", 2));
输出:
-1
注意: 为什么 -1
?因为 byte
是从 -128
到 127
的 8 位有符号整数,所以这里不是 255
你得到 -1
.