在JSON中,可以使用\uXXXX
表示法转义Unicode字符。我假设XXXX
显然是指十六进制的Unicode代码点。
但由于只有4位数,这是否意味着无法转义> 0xFFFF
的代码点?
或\uXXXX
实际上不编码抽象代码点,但实际上是UTF-16-BE编码字节的单位吗?
答案 0 :(得分:2)
它应该是\uXXXX
,是的,可以使用您提到的行中的高和低代理来表示大于0xFFFF的字符。
var s = '\uD87E\uDC04';
alert(s + '::' + s.length); // ::2