Java - Character toCodePoint() 方法



描述

Java 的Character toCodePoint() 方法将指定的代理对转换为其补充代码点值。

补充值在 16 位 Unicode 系统中没有表示。因此,使用代理对来表示这些值。这些代理对由两个字符组成:高代理代码点和低代理代码点。

补充代码点范围在 U+10000 到 U+10FFFF 之间;但是,代理对的范围是:U+D800 到 U+DBFF 为高代理,U+DC00 到 U+DFFF 为低代理。

此方法不验证指定的代理对。调用者如有必要,必须使用 isSurrogatePair 进行验证。

语法

以下是 Java Character toCodePoint() 方法的语法

public static int toCodePoint(char high, char low)

参数

  • high − 高代理代码单元

  • low − 低代理代码单元

返回值

此方法返回由指定的代理对组成的补充代码点。

从代理对获取补充代码点示例

以下示例显示了 Java Character toCodePoint() 方法的用法。在这个程序中,我们创建了两个 char 变量并将它们的值赋值为代理对。现在使用 toCodePoint() 方法,我们检索了代码点并打印结果。

package com.tutorialspoint;

public class CharacterDemo {
   public static void main(String[] args) {

      // create 2 char primitives ch1, ch2
      char ch1, ch2;

      // assign values to ch1, ch2
      ch1 = '\ud800';
      ch2 = '\udc00';

      // create an int primitive cp
      int cp;

      // assign code point value of surrogate pair ch1, ch2 to cp
      cp = Character.toCodePoint(ch1, ch2);
      String str = "Supplementary code point value is " + cp;

      // print cp value
      System.out.println( str );
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

Supplementary code point value is 65536

从字母对获取补充代码点示例

以下示例显示了 Java Character toCodePoint() 方法的用法。在这个程序中,我们创建了两个 char 变量并将它们的值赋值为字母对。现在使用 toCodePoint() 方法,我们检索了代码点并打印结果。

package com.tutorialspoint;

public class LetterDemo {
   public static void main(String[] args) {
      char ch1, ch2;
      ch1 = 'a';
      ch2 = 'z';
      int cp;
      cp = Character.toCodePoint(ch1, ch2);
      System.out.println("Supplementary code point value is " + cp);
   }
}

输出

让我们编译并运行上面的程序,以获得如下所示的输出:

Supplementary code point value is -56514438

从编号字符对获取补充代码点示例

让我们将参数更改为方法中的编号字符(它们是普通的 BMP 字符)并观察返回值。

package com.tutorialspoint;

public class DigitDemo {
   public static void main(String[] args) {
      char ch1, ch2;
      ch1 = '0';
      ch2 = '9';
      int cp;
      cp = Character.toCodePoint(ch1, ch2);
      System.out.println("Supplementary code point value is " + cp);
   }
}

输出

编译并执行上述程序后的输出如下:

Supplementary code point value is -56564679

从符号对获取补充代码点示例

以下示例程序将任意两个符号作为参数传递给方法,并返回无效的补充代码点,因为参数是 BMP 字符。

package com.tutorialspoint;

public class SymbolDemo {
   public static void main(String[] args) {
      char ch1, ch2;
      ch1 = '@';
      ch2 = '&';
      int cp;
      cp = Character.toCodePoint(ch1, ch2);
      System.out.println("Supplementary code point value is " + cp);
   }
}

输出

编译并执行上述程序后的输出如下:

Supplementary code point value is -56548314
java_lang_character.htm
广告