当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。