[英]How to convert ASCII value to UTF-8 String in Java? 9812 -> ♔
如果它是字符范围内的字符,则它只是:
Character.toString(9812).getBytes("UTF8")
如果它是一个大于 U+00FFFF 的代码点,那么你可以使用:
new String(Character.toChars(0x10400)).getBytes("UTF8")
如果您只想要String
,而不是具有 UTF-8 表示的字节数组,则省略getBytes
。
您可以使用Character.toString
:
String myString = Character.toString(9812);
或者,如果您只需要一个字符,那么您就不需要任何函数:
char myChar = 9812;
十进制数 9812 是十六进制数 2654。 有一个开源库可以将任何字符串转换为 Unicode 序列,反之亦然。 所以下面的代码将打印你想要的字符串。
System.out.println(StringUnicodeEncoderDecoder.decodeUnicodeSequenceToString("\\u2654"));
输出将是:
♔
将字符串转换为 Unicode 序列如下:
System.out.println(StringUnicodeEncoderDecoder.encodeStringToUnicodeSequence("Hello World"));
将导致此输出:
\u0048\u0065\u006c\u006c\u006f\u0020\u0057\u006f\u0072\u006c\u0064
该库被称为MgntUtils并且可以发现作为Maven构件在这里,并在Github上,包括广口瓶,源代码和Javadoc在这里。 可以在此处找到StringUnicodeEncoderDecoder
类的 Javadoc
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.