用两个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,需要使用两个双字节表示

希望可以帮到你!

0

0 学习 · 10739 问题

查看课程