如何计算一个字符的字节数
编辑:噢。
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)
返回65533,当真正的hex值是0x24065(十进制中的147557)
你知道如何计算实际的字节数?
console.log (Buffer.byteLength ("𤁥", "utf8")); //--> 3