无法呈现 js unicode 字符`\u1F310`

Cannot render js unicode character `\u1F310`

例如欧米茄符号正确呈现 '\u03A9',但地球符号 '\u1F310' http://www.fileformat.info/info/unicode/char/1f310/index.htm - 不是。在控制台和节点环境中进行了尝试

只有部分字体支持地球符号'\u1F310'...
其中一些是:

  • 最后的选择
  • 基维拉
  • Segoe UI 表情符号
  • Segoe UI 符号
  • 符号
  • Unifont 上层 CSUR

fontsupport

'\u1F310'

JavaScript \u 转义只需要四位数字,所以这个字符串文字是两个代码单元,U+1F31(带 Dasia 的希腊小写字母)和 U+0030(数字零):ἱ0.

JavaScript字符串由16位宽的编码单元组成,所以JavaScript中最高的单个编码单元是\uFFFF和U+10000以上的字符,在外面基本多语言平面,不能直接引用。要获得它们,您必须使用一对 UTF-16 surrogates。对于计算结果为 '\uD83C\uDF10'.

的 U+1F310

在 ECMAScript 2015 中,有一个新的字符串转义形式,它接受字符编号并为您计算其余部分:'\u{1F310}'。这在最新版本的 Node 中是 available,但在浏览器中得到足够广泛的支持还需要一段时间。

将角色打印到控制台是一个单独的挑战。正如@MarcoS 所说,您需要将终端设置为使用具有字形的字体。您还需要使用能够理解非 ASCII 尤其是非 Basic-Multilingual-Plane 字符的控制台。 (如果您在 Windows 命令提示符下,赢得该游戏的唯一方法就是不玩。)