1

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

4

2 回答 2

3
'\u1F310'

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

JavaScript 字符串由 16 位宽的代码单元组成,因此 JavaScript 中最高的单个代码单元是\uFFFFU+10000 以上的字符,位于基本多语言平面之外,不能直接引用。要获得它们,您必须使用一对UTF-16 代理。对于 U+1F310,结果为'\uD83C\uDF10'.

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

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

于 2016-05-17T22:21:58.943 回答
1

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

  • 最后一招
  • 基维拉
  • Segoe UI 表情符号
  • Segoe UI 符号
  • 符号
  • Unifont 上 CSUR

字体支持

于 2016-05-17T10:00:00.143 回答