1.由於項目中遇到,在伺服器端起的jar包程式,給前台發訊息後,前段收到的訊息出現亂碼情況,所以採取在後才發訊息前先把訊息字串轉成ASCII碼再發往前台,前台採取在收到後台訊息先把ASCII碼轉成字串的解決方案進行解決。
1)將字串轉成ASCII的java方法
public static String stringToAscii(String value) { StringBuffer sbu = new StringBuffer(); char[] chars = value.toCharArray(); for (int i = 0; i < chars.length; i++) { if(i != chars.length - 1) { sbu.append((int)chars[i]).append(","); } else { sbu.append((int)chars[i]); } } return sbu.toString(); }
2)將ASCII轉成字串的java方法
public static String asciiToString(String value) { StringBuffer sbu = new StringBuffer(); String[] chars = value.split(","); for (int i = 0; i < chars.length; i++) { sbu.append((char) Integer.parseInt(chars[i])); } return sbu.toString(); }
測試方法及結果
public static void main(String[] args) {
String str = "彭玉軍";
String asciiResult = stringToAscii(str);
System.out.println(asciiResult);
String stringResult = asciiToString(asciiResult);
System.out.println(stringResult);
}
控制台輸出 24429,29577,20891 彭玉軍