标签: java unicode
偶尔会有一个未分配的Unicode点,打印时会显示一个问号(?)。有没有办法过滤掉这些值?
if(c == ?)当然没有用,因为整数值不同。
if(c == ?)
在这里,您可以看到一些未分配的点
答案 0 :(得分:2)
使用java.lang.Character.isDefined(int)过滤掉根本未分配的代码点。以char为参数的版本无法识别补充的Unicode代码点,只能识别U + 10000以下的代码点。
java.lang.Character.isDefined(int)
char
如果您还要过滤掉有效但无法显示的字符,则还应另外检查isIdentifierIgnorable(int)。
isIdentifierIgnorable(int)