如何将二进制字符串转换为字节?

How can I convert a binary string to a byte?

我正在研究霍夫曼压缩。

String binaryString = "01011110";
outFile.write(byte);

我有一个字符串,我想将其转换为一个字节,以便将该字节写入文件。有谁知道我该怎么做?

您可以使用允许您指定基数的重载 parseByteString 转换为数值:

String binaryString = "01011110";
byte b = Byte.parseByte(binaryString, 2); //this parses the string as a binary number
outFile.write(b);

parseByte() 的第二个参数允许您指定应在其中解析字符串的数字系统。默认情况下,使用基数 10,因为我们人类通常使用十进制。 2 表示该数字应被视为二进制值(以 2 为底)。

您可以使用基数为 2 的 Byte.parseByte():

byte b = Byte.parseByte(str, 2);

示例:

System.out.println(Byte.parseByte("01100110", 2));

可以写出(一个 String[256],每个手动写入 1 和 0 组 8 位),它只有 256 个。使您能够检查 String.indexOf(binnum[arrayIndex]) 并制作一个新的 byte[256] 的相应数组,并按照与 new Integer(increment).byteValue() 匹配的顺序设置每个数组,它应该重现以使用 new Byte(bytarray[incr]) 检查 byte[] 数组的可打印性。 intValue()+"\n"