Node.js实用代码段之获取Buffer对象字节长度


Posted in Javascript onMarch 17, 2016

我们知道Node.js框架下的Buffer对象能够对二进制数据提供很好的支持,那么获取一个Buffer对象真实的字节长度则是必须要用到的功能了。Node.js框架为开发人员提供了一个Buffer.byteLength()方法,下面我们借助一个官方文档提供的例程向读者演示一下该方法的使用过程。

本例ch04.buffer-byteLength.js主要代码如下:

/**
 * ch04.buffer-byteLength.js
 */
 console.info("------Buffer.byteLength()------");
 console.info();
 str = '\u00bd + \u00bc = \u00be';  //定义字符串
 //½ + ¼ = ¾: 9 characters, 12 bytes
 console.log(str + ": " + str.length + " characters, " + Buffer.byteLength(str, 'utf8') + " bytes");
 console.info();
 console.info("------Buffer.byteLength()------");

【代码分析】

第06行代码定义并初始化了一个字符串变量,其变量名为str,数据内容为\u00bd + \u00bc = \u00be,读者可以去相关网站查阅一下这几个16进制编码,\u00bd代表字符"½",\u00bc代表字符"¼",\u00be代表字符"¾";然后,在第08行代码通过打印输出str.length属性来显示字符串变量str的长度,通过Buffer.byteLength()方法来显示字符串变量str的真实字节长度,关于Buffer.byteLength()方法的语法说明如下:
语法:Buffer.byteLength(string[, encoding])
该方法返回一个Number数字,用来表示string参数的真实字节长度,encoding参数默认为"utf8"编码格式。

从图4.4中显示的结果可以看到,字符串str的length属性为9个字符长度,而占用字节长度为12 个,因此我们可以知道"½"、"¼"和"¾"这3个字符其实占用了两个字节的长度。

Node.js实用代码段之获取Buffer对象字节长度

提示:本节我们需要了解字符与字节这两个概念的异同,在计算机编码中一个字节占用8 bit(1 byte = 8 bit),而一个字符可能是一个单字节字符,也可能是双字节字符。另外,Buffer.byteLength()方法在写http响应头时经常要用到,如果想改写http响应头Cotent-Length时,千万记得一定要用Buffer.byteLength()方法,而不要使用 String.prototype.length属性。

以上就是为大家分享的第一个超实用的Node.js代码段,下面还有更多精彩的Node.js代码段,不要错过,希望对大家的学习有所帮助。

Javascript 相关文章推荐
Jquery 类网页微信二维码图块滚动效果具体实现
Oct 14 Javascript
JavaScript中使用Substring删除字符串最后一个字符
Nov 03 Javascript
jQuery实现的在线答题功能
Apr 12 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
Jun 25 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
Feb 17 Javascript
canvas仿iwatch时钟效果
Mar 06 Javascript
js canvas实现简单的图像扩散效果
Jun 28 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
Aug 22 Javascript
element-ui中按需引入的实现
Dec 25 Javascript
javascript canvas API内容整理
Feb 16 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
May 14 Javascript
JavaScript链式调用原理与实现方法详解
May 16 Javascript
jquery基础知识第一讲之认识jquery
Mar 17 #Javascript
Angularjs 滚动加载更多数据
Mar 17 #Javascript
基于jquery实现智能提示控件intellSeach.js
Mar 17 #Javascript
JavaScript函数内部属性和函数方法实例详解
Mar 17 #Javascript
基于jquery实现简单的分页控件
Mar 17 #Javascript
jQuery实现图片局部放大镜效果
Mar 17 #Javascript
jQuery实现放大镜效果实例代码
Mar 17 #Javascript
You might like
配置最新的PHP加MYSQL服务器
2006/10/09 PHP
PHP以mysqli方式连接类完整代码实例
2014/07/15 PHP
使用PHP生成二维码的方法汇总
2015/07/22 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
通过ifame指向的页面高度调整iframe的高度
2006/10/05 Javascript
JavaScript实现GriwView单列全选(自写代码)
2013/05/13 Javascript
JS对象转换为Jquery对象实现代码
2013/12/29 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
2016/06/02 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
js实现多图左右切换功能
2016/08/04 Javascript
iOS和Android用同一个二维码实现跳转下载链接的方法
2016/09/28 Javascript
AngularJs验证重复密码的方法(两种)
2016/11/25 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
2017/10/09 Javascript
JavaScript布尔运算符原理使用解析
2020/05/06 Javascript
[01:03:36]Ti4 循环赛第三日DK vs Titan
2014/07/12 DOTA
Python 过滤字符串的技巧,map与itertools.imap
2008/09/06 Python
Python字典生成式、集合生成式、生成器用法实例分析
2020/01/07 Python
python 获取计算机的网卡信息
2021/02/18 Python
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
意大利珠宝店:Luxury Zone
2019/01/05 全球购物
商务专员岗位职责
2013/11/23 职场文书
销售经理工作职责范文
2013/12/03 职场文书
户外用品商店创业计划书
2014/01/29 职场文书
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
幼儿园大班毕业教师寄语
2014/04/03 职场文书
酒后驾车标语
2014/06/30 职场文书
2014年教师节座谈会发言稿
2014/09/10 职场文书
2014年质检工作总结
2014/11/26 职场文书
情感电台广播稿
2015/08/18 职场文书
centos7安装mysql5.7经验记录
2022/05/02 Servers
MySQL批量更新不同表中的数据
2022/05/11 MySQL