我使用以下代码将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);
答案 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);