当我解析此内容时:
JSON.parse('"\\u1f469\\u200d\\u1f469\\u200d\\u1f466"')
我最终遇到多个字符:
996
但是当我解析它时:
JSON.parse('"\\uD83D\\uDC69\\u200D\\u2764\\uFE0F\\u200D\\uD83D\\uDC69"')
它产生❤️。两者都在chrome上运行。第一个是有效的零宽度连接表情符号。为什么第一个不产生组合的表情符号字符?
答案 0 :(得分:0)
表情符号是由'U'之后的4个字符创建的。在您询问的示例中,您有5个字符,因此表情符号是从前4个(1f46)创建的,而第5个(9,9,6)被视为普通字符。
JSON.parse('"\\u1f469"') // => \\u1f46 = , 9 = 9