确定 Unicode 代码点是否代表特定脚本(例如拉丁脚本)中的字符?

2023-12-05

Unicode将字符分类为属于script, 如那个拉丁文字.

如何测试特定字符(代码点) 是在特定的脚本中吗?


Java 代表各种 Unicode 脚本Character.UnicodeScript枚举,例如包括Character.UnicodeScript.LATIN。这些匹配Unicode 脚本属性.

您可以通过提交角色来测试角色代码点整数到of该枚举上的方法。

int codePoint = "a".codePointAt( 0 ) ; 
Character.UnicodeScript script = Character.UnicodeScript.of( codePoint ) ;
if( Character.UnicodeScript.LATIN.equals( script ) ) { … }

或者:

boolean isLatinScript = 
        Character.UnicodeScript.LATIN
        .equals( 
            Character.UnicodeScript.of( codePoint ) 
        )
;

用法示例。

System.out.println(
        Character.UnicodeScript.LATIN      // Constant defined on the enum.
        .equals(                           // `java.lang.Enum.equals()` comparing two constants defined on the enum.
            Character.UnicodeScript.of(    // Determine which Unicode script for this character.
                "????".codePointAt( 0 )      // Get the code point integer number of the first (and only) character in this string.
            )                              // Returns a `Character.UnicodeScript` enum object. 
        )                                  // Returns `boolean`. 
);

看到这个代码在 IdeOne.com 上运行.

false

仅供参考,Character类可以让你询问代码点是否代表一个字符isDigit, isLetter, isLetterOrDigit, isLowerCase, 和更多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

确定 Unicode 代码点是否代表特定脚本(例如拉丁脚本)中的字符? 的相关文章

随机推荐