Java字符串跟ASCII码互转 收藏

本文详细介绍了在服务器端起的jar包程序与前端交互时,遇到消息传递乱码的问题,并提供了将字符串转为ASCII码和ASCII码转回字符串的Java方法作为解决方案。通过实际代码示例验证了方法的有效性,确保了前后端数据的正确传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

 
view plaincopy to clipboardprint?
01.public static String stringToAscii(String value)  
02.{  
03.    StringBuffer sbu = new StringBuffer();  
04.    char[] chars = value.toCharArray();   
05.    for (int i = 0; i < chars.length; i++) {  
06.        if(i != chars.length - 1)  
07.        {  
08.            sbu.append((int)chars[i]).append(",");  
09.        }  
10.        else {  
11.            sbu.append((int)chars[i]);  
12.        }  
13.    }  
14.    return sbu.toString();  
15.} 
 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方法

view plaincopy to clipboardprint?
01.public static String asciiToString(String value)  
02.{  
03.    StringBuffer sbu = new StringBuffer();  
04.    String[] chars = value.split(",");  
05.    for (int i = 0; i < chars.length; i++) {  
06.        sbu.append((char) Integer.parseInt(chars[i]));  
07.    }  
08.    return sbu.toString();  
09.} 
 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     彭玉军

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值