當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Java.lang.Character.toChars()用法及代碼示例



描述

這個java.lang.Character.toChars(int codePoint, char[] dst, int dstIndex)將指定的字符(Unicode 代碼點)轉換為其 UTF-16 表示。

如果指定的代碼點是 BMP(基本多語言平麵或平麵 0)值,則相同的值存儲在 dst[dstIndex] 中,並返回 1。

如果指定的代碼點是增補字符,則其代理值存儲在 dst[dstIndex](高代理)和 dst[dstIndex+1](低代理)中,並返回 2。

聲明

以下是聲明java.lang.Character.toChars()方法

public static int toChars(int codePoint, char[] dst, int dstIndex)

參數

  • codePoint− Unicode 代碼點

  • dst- 一個字符數組,其中存儲了 codePoint 的 UTF-16 值

  • dstIndex- dst 數組中存儲轉換值的起始索引

返回值

如果代碼點是 BMP 代碼點,則此方法返回 1,如果代碼點是補充代碼點,則返回 2。

異常

  • IllegalArgumentException- 如果指定的 codePoint 不是有效的 Unicode 代碼點

  • NullPointerException- 如果指定的 dst 為空

  • IllegalArgumentException- 如果 dstIndex 為負數或不小於 dst.length,或者如果 dstIndex 處的 dst 沒有足夠的數組元素來存儲結果字符值。 (如果 dstIndex 等於 dst.length-1 並且指定的 codePoint 是補充字符,則高代理值不會存儲在 dst[dstIndex] 中。)

示例

下麵的例子展示了 lang.Character.toChars() 方法的用法。

package com.tutorialspoint;

import java.lang.*;

public class CharacterDemo {

   public static void main(String[] args) {

      // create an int primitive cp and assign value
      int cp = 0x0036;

      // create an int primitive res
      int res;

      /**
       *  create a char array dst and assign UTF-16 value of cp
       *  to it using toChars method
       */
      char dst[] = Character.toChars(cp);

      // check if cp is BMP or supplementary code point using toChars
      res = Character.toChars(cp, dst, 0);

      String str1 = "It is a BMP code point";
      String str2 = "It is a is a supplementary code point";

      // print res value
      if ( res == 1 ) {
         System.out.println( str1 );
      } else if ( res == 2 ) {
         System.out.println( str2 );
      }
   }
}

讓我們編譯並運行上麵的程序,這將產生以下結果 -

It is a BMP code point

相關用法


注:本文由純淨天空篩選整理自 Java.lang.Character.toChars() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。