Ded*_*tor 9

当人们认为64K对每个人都足够时(因为之前有人听到过这样的情况?),Java会全面展开unicode,他们从UCS-2开始,后来升级到UTF-16.

但他们从不打算在BMP之外为unicode字符添加转义序列.

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

你的示例代码点U+10428"\uD801\uDC28".

我用这个网站进行重新编码:http://rishida.net/tools/conversion/

从文档引用:

3.10.5字符串文字

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

  • 在Java中,它不能.无论如何,要小心"一个字符":根据上下文(有时不存在或太模糊),它可以表示字节,代码单元,代码点和字形的任何内容. (2认同)