Java中的二进制到字符串转换?

时间:2014-08-05 05:46:40

标签: java string binary

我使用以下代码将String转换为二进制。现在我想将它转换回字符串然后我该怎么做。

 String s = "Milind";
 byte[] bytes = s.getBytes();

 StringBuilder binary = new StringBuilder();
 for (byte b : bytes)
 {
    int val = b;
    for (int i = 0; i < 8; i++)
     {
         binary.append((val & 128) == 0 ? 0 : 1);
         val <<= 1;
     }
    binary.append(' ');
 }
    System.out.println("'" + s + "' to binary: " + binary);

2 个答案:

答案 0 :(得分:0)

您正在寻找的解决方案如下:

 String[] bytesStr = binary.toString().split(" ");

            for(String c :  bytesStr){
                System.out.print((char)Byte.parseByte(c,2));    
            }

您拥有的“二进制”值实际上是字符串格式的二进制。因此,使用基数为2的基数parseByte将其转换为字节。

以上程序打印Milind

答案 1 :(得分:0)

你可以试试这个:

String[] singleBinaryArray = binary.toString().split("\\s");
String finalResult = "";
for (String string : singleBinaryArray) {
Character c = (char) Integer.parseInt(string, 2);
    finalResult += c.toString();
}
System.out.println("String " + finalResult);