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 相关文章推荐
驱动事件的addEvent.js代码
Mar 27 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
Mar 01 Javascript
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
Feb 02 Javascript
js返回上一页并刷新代码整理
Dec 21 Javascript
js验证IP及子网掩码的合法性有效性示例
Apr 30 Javascript
使用JavaScript实现旋转的彩圈特效
Jun 23 Javascript
JavaScript字符串常用的方法
Mar 10 Javascript
VueJs与ReactJS和AngularJS的异同点
Dec 12 Javascript
JS利用cookies设置每隔24小时弹出框
Apr 20 Javascript
JavaScript生成指定范围随机数和随机序列的方法
May 05 Javascript
这样回答继承可能面试官更满意
Dec 10 Javascript
webpack 最佳配置指北(推荐)
Jan 07 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
解析使用substr截取UTF-8中文字符串出现乱码的问题
2013/06/20 PHP
详谈PHP文件目录基础操作
2014/11/11 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
IE6下JS动态设置图片src地址问题
2010/01/08 Javascript
表单验证的完整应用案例探讨
2013/03/29 Javascript
Node.js文件操作详解
2014/08/16 Javascript
使用jquery解析XML示例代码
2014/09/05 Javascript
javascript清空table表格的方法
2015/05/14 Javascript
使用Browserify配合jQuery进行编程的超级指南
2015/07/28 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
原生js实现新闻列表展开/收起全文功能
2017/01/20 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
从零开始实现Vue简单的Toast插件
2018/12/03 Javascript
Echart折线图手柄触发事件示例详解
2018/12/16 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
uni-app如何页面传参数的几种方法总结
2020/04/28 Javascript
详细分析Node.js 模块系统
2020/06/28 Javascript
js实现三角形粒子运动
2020/09/22 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
[03:42]2018完美盛典-《加冕》
2018/12/16 DOTA
wxPython事件驱动实例详解
2014/09/28 Python
django项目搭建与Session使用详解
2018/10/10 Python
Django框架中间件定义与使用方法案例分析
2019/11/28 Python
html5指南-7.geolocation结合google maps开发一个小的应用
2013/01/07 HTML / CSS
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
公务员政审个人鉴定
2014/02/25 职场文书
预备党员表决心书
2014/03/11 职场文书
工作评语大全
2014/04/26 职场文书
项目负责人任命书
2014/06/04 职场文书
公司股份转让协议书范本
2015/01/28 职场文书
办公室禁烟通知
2015/04/23 职场文书
村主任当选感言
2015/08/01 职场文书
学习党章心得体会2016
2016/01/15 职场文书
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS