1.由于项目中遇到,在服务器端起的jar包程序,给前台发消息后,前段收到的消息出现乱码情况,所以采取在后才发消息前先把消息字符串转成ASCII码再发往前台,前台采取在收到后台消息先把ASCII码转成字符串的解决方案进行解决。

 1)将字符串转成ASCII的Java方法

 

  1. public static String stringToAscii(String value)
  2. {
  3. StringBuffer sbu = new StringBuffer();
  4. char[] chars = value.toCharArray();
  5. for (int i = 0; i < chars.length; i++) {
  6. if(i != chars.length - 1)
  7. {
  8. sbu.append((int)chars[i]).append(",");
  9. }
  10. else {
  11. sbu.append((int)chars[i]);
  12. }
  13. }
  14. return sbu.toString();
  15. }

2)将ASCII转成字符串的java方法

 

  1. public static String asciiToString(String value)
  2. {
  3. StringBuffer sbu = new StringBuffer();
  4. String[] chars = value.split(",");
  5. for (int i = 0; i < chars.length; i++) {
  6. sbu.append((char) Integer.parseInt(chars[i]));
  7. }
  8. return sbu.toString();
  9. }

main方法测试:

  1. public static void main(String[] args) {
  2. String str = "{name:1234,password:4444}";
  3. String asciiResult = stringToAscii(str);
  4. System.out.println(asciiResult);
  5. String stringResult = asciiToString(asciiResult);
  6. System.out.println(stringResult);
  7. }

输出:

  1. 123,110,97,109,101,58,49,50,51,52,44,112,97,115,115,119,111,114,100,58,52,52,52,52,125
  2. {name:1234,password:4444}

 

版权声明:本文为fengwenzhee原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/fengwenzhee/p/7239822.html