繁体   English   中英

如何在 Java 中将 ASCII 值转换为 UTF-8 字符串? 9812 -> ♔

[英]How to convert ASCII value to UTF-8 String in Java? 9812 -> ♔

我想将9812的 asci 值转换为 UTF-8 string 怎么做到呢?

如果它是字符范围内的字符,则它只是:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM