如何在Java中编写3字节的unicode文本?

如何在Java中编写3字节的unicode文本?,java,unicode,utf-16,utf-32,unicode-literals,Java,Unicode,Utf 16,Utf 32,Unicode Literals,我想用Java编写unicode文字U+10428。 我试过使用“\u10428”,但它无法编译。因为当人们认为64K对每个人来说都足够时,Java完全采用了unicode(人们以前在哪里听说过这样的?),所以他们从UCS-2开始,后来升级到UTF-16 但是他们从来没有为BMP之外的unicode字符添加转义序列 因此,您唯一的方法是手动重新编码到UTF-16代理项对,并使用两个UTF-16转义 您的示例代码点U+10428是“\uD801\uDC28” 我使用此网站进行重新编码: : 3.

我想用Java编写unicode文字U+10428。


我试过使用“\u10428”,但它无法编译。

因为当人们认为64K对每个人来说都足够时,Java完全采用了unicode(人们以前在哪里听说过这样的?),所以他们从UCS-2开始,后来升级到UTF-16

但是他们从来没有为BMP之外的unicode字符添加转义序列

因此,您唯一的方法是手动重新编码到UTF-16代理项对,并使用两个UTF-16转义

您的示例代码点
U+10428
“\uD801\uDC28”

我使用此网站进行重新编码:

:

3.10.5字符串文字 字符串文字由零个或多个用双引号括起来的字符组成。字符可以用转义序列来表示(§3.10.6)-一个转义序列用于U+0000到U+FFFF范围内的字符,两个转义序列用于U+010000到U+10FFFF范围内字符的UTF-16代理代码单元


“\u”格式的可能副本是十六进制,而不是十进制。我认为这是一个不同的问题。是的,而且u+10428似乎是十六进制@jtahlborn3字节Unicode是U+10000及以上的可怕术语(因为10000不是字节)。但是,如果这就是你来到这里的原因,你可能会找到你的答案。在Java中,答案是不可能的。无论如何,要注意“一个字符”:根据上下文(有时不存在或太模糊),它可以表示字节、代码单元、代码点和图形。