3/3 js Unicode 字符个数

写在前面

  仅供自用

  ...


码元 code unit

  一般的字符 都是用16位 码元 来表示的

  但是 查阅的情况不是很清楚 有一种说法就是 相当于 16位 一个字符

码点 code point

  但是 对于 Unicode 字符来说 ,一般的16位码元 并不能表示完 

  所以 对于 一些字符 Unicode 使用 代理对 即 2个码元 来代表一个 Unicode 字符

  而 码点 就是 对于这些字符的 一个完整标识 ( 即可以打出来 )

但是

  一般的.length 方法会 出现将 两个码元 组成的代理对 的字符 给认定为 两个字符

  这个时候就得用 ( ... ) 扩展运算符 来计算长度

let message = "ab😊de";
let arr = [...message];
console.log(arr);
console.log(arr.length);
console.log(message.length);

 

posted @ 2021-03-03 18:45  WaterMealone  阅读(102)  评论(0编辑  收藏  举报