忽略未分配的Unicode值

时间:2017-05-20 23:26:59

标签: java unicode

偶尔会有一个未分配的Unicode点,打印时会显示一个问号(?)。有没有办法过滤掉这些值?

if(c == ?)当然没有用,因为整数值不同。

example 在这里,您可以看到一些未分配的点

1 个答案:

答案 0 :(得分:2)

使用java.lang.Character.isDefined(int)过滤掉根本未分配的代码点。以char为参数的版本无法识别补充的Unicode代码点,只能识别U + 10000以下的代码点。

如果您还要过滤掉有效但无法显示的字符,则还应另外检查isIdentifierIgnorable(int)