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 彭玉军
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 彭玉军