例如,欧米茄符号正确渲染'\u03A9'
,但地球符号 '\u1F310'
http://www.fileformat.info/info/unicode/char/1f310/index.htm - 不是。已在控制台和节点环境中试用
问问题
714 次
2 回答
3
'\u1F310'
JavaScript\u
转义只需要四位数字,所以这个字符串文字是两个代码单元,U+1F31(带有 Dasia 的希腊小写字母)和 U+0030(数字零)ἱ0
:。
JavaScript 字符串由 16 位宽的代码单元组成,因此 JavaScript 中最高的单个代码单元是\uFFFF
U+10000 以上的字符,位于基本多语言平面之外,不能直接引用。要获得它们,您必须使用一对UTF-16 代理。对于 U+1F310,结果为'\uD83C\uDF10'
.
在 ECMAScript 2015 中,有一种新的字符串转义形式,它采用字符编号并为您计算其余部分:'\u{1F310}'
. 这在 Node 的最新版本中可用,但要在浏览器中得到足够广泛的支持还需要一段时间。
将角色打印到控制台是一个单独的挑战。正如@MarcoS 所说,您需要将终端设置为使用具有字形的字体。您还需要使用能够理解非 ASCII 字符,尤其是非基本多语言平面字符的控制台。(如果您在 Windows 命令提示符下,赢得该游戏的唯一方法就是不玩。)
于 2016-05-17T22:21:58.943 回答
1
于 2016-05-17T10:00:00.143 回答