java.lang.Character类有一个名为UnicodeBlock的内部静态类.例如,您可以获得阿拉伯语Unicode块:
Character.UnicodeBlock block = Character.UnicodeBlock.ARABIC;
通过遍历所有字符(或更准确地说,Unicode代码点),可以检查每个字符以查找其Unicode块:
public static void main(String[] args) {
Set arabicChars = findCharactersInUnicodeBlock(Character.UnicodeBlock.ARABIC);
Set bengaliChars = findCharactersInUnicodeBlock(Character.UnicodeBlock.BENGALI);
}
private static Set findCharactersInUnicodeBlock(final Character.UnicodeBlock block) {
final Set chars = new HashSet();
for (int codePoint = Character.MIN_CODE_POINT; codePoint <= Character.MAX_CODE_POINT; codePoint++) {
if (block == Character.UnicodeBlock.of(codePoint)) {
chars.add((char) codePoint);
}
}
return chars;
}