2013-11-24 113 views
-3

我收到的字节串从我的服务器,像这样:的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

你最好在两端使用类似base64的东西。 –

回答

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