如何计算一个字符的字节数

ivel 发布于 4 天前 javascript 最后更新 4 天前 10 浏览

编辑:Ooooops。

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,当真正的十六进制值是0x24065(十进制中的147557) 你知道如何计算实际的字节数吗?
已邀请:

xipsam

赞同来自:

console.log (Buffer.byteLength ("", "utf8")); //--> 3

要回复问题请先登录注册