Java将字节(以字符串的形式)转换为字符串

时间:2013-11-24 15:04:58

标签: java

我从服务器收到一串字节,如下所示:

  

60,104,101,97,100,62,60,115,99,114,105,112

如何将其转换为可读字符串?

这是我试过的:

String s = new String(json.get("msg").toString());
System.out.println("Text Decryted : " + s);

但这只是给了我:

  

60,104,101,97,100,62,60,115,99,114,105,112

任何想法如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

从中解析一个字节数组:

String byteString = "60,104,101,97,100,62,60,115,99,114,105,112";
String[] byteStrings = byteString.split(",");
byte[] bytes = new byte[byteStrings.length];
for (int i = 0; i < bytes.length; i++) {
    bytes[i] = (byte)Integer.parseInt(byteStrings[i]);
}

然后将字节解释为特定字符集中的字符串。找出你实际使用的字符集,以避免将来出现问题。

String string = new String(bytes, java.nio.charset.StandardCharsets.UTF_8);

顺便提一下上面的效率不是很高。由于您已经从服务器发送了一个字符串,因此发送实际字符串会更有意义。如果您不能按原样发送字符串,则应ask about that problem