ES6 Unicode的理解

在学习ES6的Unicode的时候,我有一点没有弄懂

'\u{1F680}' === '\uD83D\uDE80' // true

上面为何会相等?我想要知道等号两边怎么转成十进制的,完全没弄懂它是怎么转的。

阅读 2.7k
2 个回答
'\u{01D1}'.replace(/\\/g,"%") //'Ǒ'

'\u004F\u030C'.replace(/\\/g,"%") //'Ǒ'

跟十进制没关系,建议看看这篇文章:Unicode与JavaScript详解

左边是码点这个数字本身, 右边是这个码点的UTF16表示的两个surrogate. 都表示同个字符.

UTF16编码

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题