二进制字符串到原始字节

时间:2014-01-22 16:30:50

标签: java java-io

有一个二进制字符串:

String binaryString = "101101010111001011111000";

此字符串的长度为24,因此可以将其转换为3个字节。

字节可以包含的数字是-128到127,但是在原始格式中它包含8位。

说:binary110110101binary201110010binary311111000

我想将这个binaryString转换为原始字节,但是当我尝试

Byte.parseByte(binary1,2);

但是这个方法使用int转换,并且字节范围的限制适用。

我想以byte的形式将这个binaryString写入文件。

原始字节包含8位且没有像number或int 那样处理的解决方案是什么?

1 个答案:

答案 0 :(得分:2)

以下内容应该有效:

byte theByte = (byte) Integer.parseInt("10101010", 2);

解析后的字符串不能超过8,否则只有最右边的8位将在变量theByte中。

请务必使用适当的工具检查输出(无文字编辑!)。