node.js中的buffer.Buffer.byteLength方法使用说明_node.js
程序员文章站
2022-03-19 21:33:02
...
方法说明:
Buffer.byteLength(string, [encoding])
str = '\u00bd + \u00bc = \u00be';
console.log(str + ": " + str.length + " characters, " +
Buffer.byteLength(str, 'utf8') + " bytes");
// ½ + ¼ = ¾: 9 characters, 12 bytes
Buffer.byteLength = function(str, enc) {
var ret;
str = str + '';
switch (enc) {
case 'ascii':
case 'binary':
case 'raw':
ret = str.length;
break;
case 'ucs2':
case 'ucs-2':
case 'utf16le':
case 'utf-16le':
ret = str.length * 2;
break;
case 'hex':
ret = str.length >>> 1;
break;
default:
ret = internal.byteLength(str, enc);
}
return ret;
};
获取字符串的字节长度。
这个函数与 String.prototype.length 不同点在于,后者返回的是字符串的字符数。
语法:
复制代码 代码如下:
Buffer.byteLength(string, [encoding])
接收参数:
string 字符创
encoding 字符串编码,默认为 ‘utf8′
例子:
复制代码 代码如下:
str = '\u00bd + \u00bc = \u00be';
console.log(str + ": " + str.length + " characters, " +
Buffer.byteLength(str, 'utf8') + " bytes");
// ½ + ¼ = ¾: 9 characters, 12 bytes
源码:
复制代码 代码如下:
Buffer.byteLength = function(str, enc) {
var ret;
str = str + '';
switch (enc) {
case 'ascii':
case 'binary':
case 'raw':
ret = str.length;
break;
case 'ucs2':
case 'ucs-2':
case 'utf16le':
case 'utf-16le':
ret = str.length * 2;
break;
case 'hex':
ret = str.length >>> 1;
break;
default:
ret = internal.byteLength(str, enc);
}
return ret;
};
推荐阅读
-
Node.js使用Express.Router的方法
-
node.js监听文件变化的实现方法
-
C#Url操作类封装、仿Node.Js中的Url模块实例
-
Node.js中的process.nextTick使用实例
-
推荐分享Node.js中18个值得了解的Web框架和工具
-
nodejs中简单实现Javascript Promise机制的实例_node.js
-
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
-
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法_node.js
-
在Node.js中使用jQuery的方法
-
一个简单的node.js界面实现方法