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
廣告
© . All rights reserved.