2013-01-21 58 views
0

的字符串我有ASCII碼的下一個字符串:ASCII碼=>字符

[-76,-96,-80,106,-58,106,-1,34,7,123,-84,101,51] 

什麼是將其轉換這些代碼值的字符的字符串中的最佳方式是什麼? 這裏有什麼隱患嗎?

+1

這些不是全部的ASCII - 你得到的值是負的Java字節值,所以127以上的邏輯無符號值.ASCII是7位編碼。 –

+0

這些值不是標準ASCII表的一部分,因此取決於您使用的表格版本,它們將是不同的符號 –

回答

3

你需要把它變成一個相應的字節數組,然後實例化new String(byteArray)

String [] strings = input.substring(1, input.length()-1).split(","); 
byte[] bytes = new byte[strings.length]; 
int i = 0; 
for (String s : strings) bytes[i++] = Byte.parseByte(s); 
System.out.println(new String(bytes, "UTF-8")); 

代替「UTF-8」使用正確的字符編碼。它可以是CP-1250,ISO-8859-1或類似的。

+0

而已: String [] strings = input.substring(1,input.length() - 2 )。分裂(」,」); – pvllnspk

+0

最後可能有一些額外的空格,'length() - 1'適用於您發佈的字符串。使用'input.trim()。substring(...'確保消除空格。 –