在Java中将UTF-16字符代码(数字)转换为String

时间:2015-02-03 23:42:13

标签: java utf-16

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

类似

String str = TheMagicalFunction(0x25E6);

2 个答案:

答案 0 :(得分:5)

您可以使用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)是等效的和/但有多个重载。请注意这一点:

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

答案 1 :(得分:0)

你需要:

  • 如果字符是整数,请将其强制转换为char
  • 将其放入1个元素char[]
  • String构造函数传递给它。

所以,

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