如果我使用33到127之间的任何ASCII字符,则该codePointAt方法将给出正确的十进制值,例如:
String s1 = new String("#");
int val = s1.codePointAt(0);
Run Code Online (Sandbox Code Playgroud)
这将返回35,这是正确的值。
但是,如果我尝试使用从128到255的ASCII字符(扩展的ASCII / ISO-8859-1),则此方法给出了错误的值,例如:
String s1 = new String("ƒ") // Latin small letter f with hook
int val = s1.codePointAt(0);
Run Code Online (Sandbox Code Playgroud)
根据该参考表,这应该返回159 ,但是返回409,为什么呢?