有一个二进制字符串:
String binaryString = "101101010111001011111000";
该字符串长度为24,因此可以转换为3个字节。
字节可以包含的数字是-128到127,但在原始格式中它包含8位。
说:binary1
是10110101
,binary2
是01110010
,binary3
是11111000
我想将此二进制字符串转换为原始字节,但是当我尝试时
Byte.parseByte(binary1,2);
但是此方法使用 int 进行转换,并且适用字节范围的限制。
我想把这个binaryString以字节的形式写入文件。
如何解决原始字节包含 8 位且不进行像数字或 int 这样的处理的问题?
最佳答案
以下应该有效:
byte theByte = (byte) Integer.parseInt("10101010", 2);
解析后的字符串不得长于8,否则变量theByte
中将只有最右边的8位。
请确保使用适当的工具检查您的输出(不要使用文本编辑器!)。
关于java - 二进制字符串到原始字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21288546/