在Java中将UTF-16字符代码(编号)隐藏为字符串

Kas*_*sra 0 java utf-16

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

就像是

String str = TheMagicalFunction(0x25E6);
Run Code Online (Sandbox Code Playgroud)

xeh*_*puk 5

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

String str = Character.toString((char) 0x25E6);
Run Code Online (Sandbox Code Playgroud)

首次将字符存储在变量中时,可以省略强制转换...

char whiteBullet = 0x25E6;
String whiteBulletString = Character.toString(whiteBullet);
Run Code Online (Sandbox Code Playgroud)

...或者当使用Unicode转义时,在这种情况下很容易,因为该角色属于基本多语言平面(BMP):

String str = Character.toString('\u25E6');
Run Code Online (Sandbox Code Playgroud)

该方法String.valueOf(char)是等效的和/但具有多个重载.小心这个:

String str = String.valueOf(0x25E6); // "9702" (decimal value)
String str2 = String.valueOf((char) 0x25E6); // "?"
String str3 = String.valueOf('\u25E6'); // "?"
Run Code Online (Sandbox Code Playgroud)