编辑:哎呀。
console.log (Buffer.byteLength ("", "utf8")); //--> 3
我想计算一个字符的字节数。这就是我所拥有的:
var charBytesLength = function (c){
var n = 0;
c = c.charCodeAt (0);
do{
c = c >>> 8;
n++;
}while (c);
return n;
};
如果字符使用 UTF8 编码,对于超过 2 个字节的字符,该函数始终返回 2,因为在 Javascript 中,字符是一个 16 位值,并且charCodeAt()
只返回 0 到 65535 之间的值。
例如:
"".charCodeAt (0)
当真正的十六进制值为 0x24065(十进制为 147557)时,返回 65533
你知道如何计算实际字节数吗?