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

标签 javascript node.js

编辑:哎呀。

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/

相关文章:

node.js - 如何使用 express.js 的 req.subdomains 获取本地子域?

javascript - Angular JS 和 Node 路由/接线 - 数据仅在页面刷新后显示

javascript - 相同的点击事件处理程序注册两次

javascript - highcharts 分组溢出

javascript - 数据表完成渲染后触发事件

javascript - 在 knockoutjs 中结合 href、click 和 data-bind

javascript - 为什么它显示 Nodejs 的待处理 promise

javascript - Node.js + Socket.io 超出最大调用堆栈大小

node.js - 如何将 pdf 文件从 Node/Express 应用程序发送到浏览器

node.js - 之前和之后的expressjs路由方法