ES6-字符串的扩展-16进制
为什么'\u{1F680}'==='\uD83D\uDE80'
首先需要了解JS代码里面的unicode编码字符的语法是:\uXXXX.这种表示法只能记录码点在\u0000~\uFFFF之间(即0~65535)的字符,超出这个范围的字符,必须用两个双字节的形式表示.
对于大于0xFFFF(即65535 0x即16进制)的字符,先减去0x10000(即65536),然后转换为20bit的二进制数,然后分别填充两个码点空出的10bit,这就是需要两个码点字符的保存方式。
码点一: 0b110110(0b即二进制
原创
2021-04-21 20:59:36 ·
981 阅读 ·
0 评论