用两个unicode码表示一个字符是什么原理
来源:3-2 选择练习
慕函数0414863
2019-08-08 22:16:01
rt
1回答
樱桃小胖子
2019-08-09
ES6为了增强对unicode 编码的支持,增加了一个方法codePointAt(),它直接返回的是字符的码点,该方法接受一个参数(代码单元的位置),返回一个整数,需要注意的是:在原来代码单元0的位置上,获取到的是整个字符的码点值,举个例子:
let text1 = "?"; console.log(text1.codePointAt(0)); //134071 > 65535(16进制0xFFFF)
只要它的码点值大于65535(16进制0xFFFF)就是多余2个字节,计算机中规定,超出\u0000~\uFFFF之间范围的字符,必须用两个双字节(两个unicode码)的形式表示
可以使用如下方式检测是否需要使用两个双字节表示
function twomore(char) {
return char.codePointAt(0) > 0xFFFF;
}
console.log(twomore('?')) //true返回true则证明是大于0xFFFF,需要使用两个双字节表示
希望可以帮到你!
相似问题