我从服务器收到一串字节,如下所示:
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
任何想法如何实现这一目标?
答案 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。