将 UTF-16 字符编码(数字)转换为 Java 中的字符串

Covert UTF-16 Character Code (number) to String in Java

如何简单地将 UTF-16 字符转换为字符串?

类似

String str = TheMagicalFunction(0x25E6);

您需要:

  • 如果字符是整数,则将其转换为char
  • 放在一个1元素中char[]
  • 将其传递给 String 构造函数。

所以,

String str = new String(new char[] {(char) 0x25E6});

您可以使用 Character.toString(char):

String str = Character.toString((char) 0x25E6);

首次将字符存储在变量中时,您可以省略转换……

char whiteBullet = 0x25E6;
String whiteBulletString = Character.toString(whiteBullet);

… 或者当使用 Unicode escape 时,在这种情况下很容易,因为字符属于基本多语言平面 (BMP):

String str = Character.toString('\u25E6');

方法String.valueOf(char)等同于and/but有多个重载。当心这个:

String str = String.valueOf(0x25E6); // "9702" (decimal value)
String str2 = String.valueOf((char) 0x25E6); // "◦"
String str3 = String.valueOf('\u25E6'); // "◦"