有一个二进制字符串:
String binaryString = "101101010111001011111000";
此字符串的长度为24,因此可以将其转换为3个字节。
字节可以包含的数字是-128到127,但是在原始格式中它包含8位。
说:binary1
为10110101
,binary2
为01110010
,binary3
为11111000
我想将这个binaryString转换为原始字节,但是当我尝试
时Byte.parseByte(binary1,2);
但是这个方法使用int转换,并且字节范围的限制适用。
我想以byte的形式将这个binaryString写入文件。
原始字节包含8位且没有像number或int 那样处理的解决方案是什么?
答案 0 :(得分:2)
以下内容应该有效:
byte theByte = (byte) Integer.parseInt("10101010", 2);
解析后的字符串不能超过8,否则只有最右边的8位将在变量theByte
中。
请务必使用适当的工具检查输出(无文字编辑!)。