我正在尝试获取http://www.ascii-code.com/中提到的ASCII字符的数字值
String str = "™æ‡©Æ";
for(int i = 0; i < str.length() ; i++) {
char c = str.charAt(i);
int code = (int) c;
System.out.println(c + ":" +code);
}
Run Code Online (Sandbox Code Playgroud)
输出:
™:8482
æ:230
‡:8225
©:169
Æ:198
Run Code Online (Sandbox Code Playgroud)
我的问题是:为什么'™'和'‡'的值分别不是'153'和'135'?如果可能的话,如何获得这些值?
ASCII值大于128的字符不是ASCII字符,而是说它们是Unicode字符会更好.扩展ASCII也不是ASCII.您最好参考Unicode表.
还要提到Java内部使用Unicode.它内部不使用ASCII.实际上,它大部分时间都使用UTF-16
您可以参考此和Unicode字符列表.