📜  Java中的字符.isSupplementaryCodePoint() 方法(1)

📅  最后修改于: 2023-12-03 15:31:59.180000             🧑  作者: Mango

Java中的字符.isSupplementaryCodePoint() 方法

isSupplementaryCodePoint() 方法是Java中的一个字符方法,用于判断给定字符是否是补充字符。

语法
public static boolean isSupplementaryCodePoint(int codePoint)
  • codePoint:需要判断是否为补充字符的字符的代码点值。
返回值

如果给定的字符是补充字符,则返回 true,否则返回 false。

补充字符

Unicode字符集定义了一套字符编码方案,允许每个字符使用 1 个或 2 个编码值表示。其中数值在 U+0000 至 U+FFFF 之间的字符称为基本多文种平面(BMP)字符,使用 1 个编码值表示;数值在 U+10000 至 U+10FFFF 之间的字符被称为扩展字符,使用两个编码值表示。

其中,第一个编码值称为高代理项,其范围是 U+D800 至 U+DBFF;第二个编码值称为低代理项,其范围是 U+DC00 至 U+DFFF。高位码与低位码配对后,形成一个补充字符码点,其范围是 U+10000 至 U+10FFFF。

代码示例
public class CharacterDemo {
    public static void main(String[] args) {
        char ch = '\uD83D\uDE0A';        // 😀 的 Unicode 码点值
        System.out.println(Character.isSupplementaryCodePoint(ch));  // true
        
        ch = 'A';                       // A 的 Unicode 码点值
        System.out.println(Character.isSupplementaryCodePoint(ch));  // false
    }
}

在上述示例中,首先定义了一个 Unicode 码点值为 U+1F60A 的字符(即“😀”),使用 isSupplementaryCodePoint() 方法判断其是否为补充字符,输出结果为 true。接着定义了一个 Unicode 码点值为 U+0041 的字符(即“A”),同样使用 isSupplementaryCodePoint() 方法判断其是否为补充字符,输出结果为 false。