将UTF8转为UTF16的js代码
其中,这几句代码不是很清楚,谁能帮忙解释下吗?
// 丢弃第一个字节的高四位并和第二个字节的高四位组成一个字节
var b1 = (c1 << 4) | ((c2 >> 2) & 0x0F);
// 同理第二个字节和第三个字节组合
var b2 = ((c2 & 0x03) << 6) | (c3 & 0x3F);
// 将b1和b2组成16位
var ucode = ((b1 & 0x00FF) << 8) | b2;
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
<<,>>和&等都是位运算。<<是左移,<<4表示左移4位。比如原来是10001101,左移之后最后变补零,变成
100011010000。然后Google一下不就知道了么?