无法在java中获取ASCII代码

nex*_*tor 1 java

我正在尝试获取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'?如果可能的话,如何获得这些值?

Rah*_*thi 5

ASCII值大于128的字符不是ASCII字符,而是说它们是Unicode字符会更好.扩展ASCII也不是ASCII.您最好参考Unicode表.

还要提到Java内部使用Unicode.它内部不使用ASCII.实际上,它大部分时间都使用UTF-16

您可以参考Unicode字符列表.