public class Test {
public static void main(String[] args) {
String asciiStr = stringToAscii("0123456789abcdefghijklmnopqrstuvwxyz");
System.out.println(asciiStr);//48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,
System.out.println(asciiToString(asciiStr));//0123456789abcdefghijklmnopqrstuvwxyz
}
/**
* 第33~126号(共94个)是字符,其中第48~57号为0~9十个阿拉伯数字
* @param val
* @return
*
* @author HuangSL
* @since 2017/12/01
*/
public static String stringToAscii(String val) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < val.length(); i++) {
char c = val.charAt(i);
builder.append((byte) c).append(",");
}
return builder.toString();
}
public static String asciiToString(String val) {
String[] asciiArr = val.split(",");
StringBuilder builder = new StringBuilder();
for (int i = 0; i < asciiArr.length; i++) {
builder.append((char)Integer.parseInt(asciiArr[i]));
}
return builder.toString();
}
}
关于 ASCII的相关信息,请关注以下文章:
需要注意的是:
ASCII 编码与 Unicode 编码不一样,0到9的unicode值如下:
\u0030 数字 0
\u0031 数字 1
\u0032 数字 2
\u0033 数字 3
\u0034 数字 4
\u0035 数字 5
\u0036 数字 6
\u0037 数字 7
\u0038 数字 8
\u0039 数字 9