𝌆的长度

 

console.log('𝌆'.length)的长度看起来应该为1,但我打印出来却是为2。为什么这样?具体来说:

UTF-16 有两种长度:对于码点在U+0000U+FFFF之间的字符,长度为16位(即2个字节);对于码点在U+10000U+10FFFF之间的字符,长度为32位(即4个字节),而且前两个字节在0xD8000xDBFF之间,后两个字节在0xDC000xDFFF之间。举例来说,码点U+1D306对应的字符为𝌆,它写成 UTF-16 就是0xD834 0xDF06。刚刚好

 

 

参考资料:

阮一峰——字符串

posted on 2019-02-17 16:34  城外三石  阅读(134)  评论(0)    收藏  举报

导航