在学习ES6的Unicode的时候,我有一点没有弄懂
'\u{1F680}' === '\uD83D\uDE80' // true
上面为何会相等?我想要知道等号两边怎么转成十进制的,完全没弄懂它是怎么转的。
左边是码点这个数字本身, 右边是这个码点的UTF16表示的两个surrogate. 都表示同个字符.
UTF16编码
'\u{01D1}'.replace(/\\/g,"%") //'Ǒ'
'\u004F\u030C'.replace(/\\/g,"%") //'Ǒ'
跟十进制没关系,建议看看这篇文章:Unicode与JavaScript详解