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 相关文章推荐
javascript+css 网页每次加载不同样式的实现方法
Dec 27 Javascript
Javascript读取cookie函数代码
Oct 16 Javascript
jquery load()在firefox(火狐)下显示不正常的解决方法
Apr 05 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
Jan 15 Javascript
JQuery中如何传递参数如click(),change()等具体实现
Apr 28 Javascript
使用Raygun来自动追踪AngularJS中的异常
Jun 23 Javascript
JS基础随笔(菜鸟必看篇)
Jul 13 Javascript
JS遍历页面所有对象属性及实现方法
Aug 01 Javascript
使用react-router4.0实现重定向和404功能的方法
Aug 28 Javascript
vue在使用ECharts时的异步更新和数据加载详解
Nov 22 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
May 10 Javascript
JS实现电脑虚拟键盘的操作
Jun 24 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 归并排序 数组交集
2011/05/10 PHP
php取整函数ceil,floo,round的用法及介绍
2013/08/31 PHP
详解PHP中的PDO类
2015/07/06 PHP
PHP5.3新特性小结
2016/02/14 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
自动检查并替换文本框内的字符
2006/06/30 Javascript
mapper--图片热点区域高亮组件官方站点
2007/12/22 Javascript
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
基于jquery的多彩百分比 动态进度条 投票效果显示效果实现代码
2011/08/28 Javascript
AngularJS入门教程(二):AngularJS模板
2014/12/06 Javascript
jQuery.Form实现Ajax上传文件同时设置headers的方法
2017/06/26 jQuery
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
Javascript执行流程细节原理解析
2020/05/14 Javascript
vue实现评价星星功能
2020/06/30 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
python常见排序算法基础教程
2017/04/13 Python
Python实现计算字符串中出现次数最多的字符示例
2019/01/21 Python
tensorflow之自定义神经网络层实例
2020/02/07 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
css3的transform造成z-index无效解决方案
2014/12/04 HTML / CSS
websocket+sockjs+stompjs详解及实例代码
2018/11/30 HTML / CSS
英国评分最高的女性剃须刀订阅盒:FFS Beauty
2018/01/25 全球购物
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
信息管理员岗位职责
2013/12/01 职场文书
护士毕业生自我鉴定
2014/02/08 职场文书
优秀员工推荐信
2014/05/10 职场文书
“六查”、“三学”、“三干”查摆问题整改措施
2014/09/27 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
行政上诉状范文
2015/05/23 职场文书
让文件路径提取变得更简单的Python Path库
2021/05/27 Python
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技