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 相关文章推荐
JS的location.href跳出框架打开新页面的方法
Sep 04 Javascript
JavaScript DOM基础
Apr 13 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
Jan 07 Javascript
判断JS对象是否拥有某属性的方法推荐
May 12 Javascript
Google 地图事件实例讲解
Aug 06 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Dec 15 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
Jan 03 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
Feb 10 Javascript
微信小程序开发中的疑问解答汇总
Jul 03 Javascript
微信小程序商品详情页的底部弹出框效果
Nov 16 Javascript
Angular实现模版驱动表单的自定义校验功能(密码确认为例)
May 17 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
Jul 10 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 计划任务 检测用户连接状态
2012/03/29 PHP
PHP开发框架kohana中处理ajax请求的例子
2014/07/14 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
thinkphp实现附件上传功能
2017/05/26 PHP
JS文本获得焦点清除文本文字的示例代码
2014/01/13 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
js解决select下拉选不中问题
2014/10/14 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
浅谈JS中逗号运算符的用法
2016/06/12 Javascript
jQuery animate easing使用方法图文详解
2016/06/17 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
bootstrap fileinput完整实例分享
2016/11/08 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
从parcel.js打包出错到选择nvm的全部过程
2018/01/23 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
JS实现打字游戏
2019/12/17 Javascript
使用IronPython把Python脚本集成到.NET程序中的教程
2015/03/31 Python
Python中数字以及算数运算符的相关使用
2015/10/12 Python
python3 与python2 异常处理的区别与联系
2016/06/19 Python
python+selenium+autoit实现文件上传功能
2017/08/23 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
查看keras的默认backend实现方式
2020/06/19 Python
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
自荐书4要点
2014/01/25 职场文书
音乐教学反思
2014/02/02 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
2014光棍节单身联谊活动策划书
2014/10/10 职场文书
学习十八届四中全会精神思想汇报
2014/10/23 职场文书
房地产公司财务总监岗位职责
2015/04/03 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书
windows系统安装配置nginx环境
2022/06/28 Servers