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);
Let it roll