编辑:哎呀。
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()
仅返回介于 2 个字节之间的值0 和 65535。
例如:
"𤂄".charCodeAt (0)
当实际的十六进制值为0x24065(十进制为147557)时,返回65533
你知道如何计算实际字节数吗?
最佳答案
console.log (Buffer.byteLength ("𤁥", "utf8")); //--> 3
关于javascript - 如何计算一个字符的字节数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10571814/