字元與數字和ASCII碼相互轉換
阿新 • • 發佈:2019-01-23
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