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

 更新时间:2016年03月17日 14:35:11   作者:学习如逆水行舟  
这篇文章主要介绍了Node.js实用代码段之获取Buffer对象字节长度,需要的朋友可以参考下

我们知道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个字符其实占用了两个字节的长度。

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

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

相关文章

  • Node.js中child_process实现多进程

    Node.js中child_process实现多进程

    这篇文章主要介绍了Node.js中child_process实现多进程,需要的朋友可以参考下
    2015-02-02
  • Node.js中的require.resolve方法使用简介

    Node.js中的require.resolve方法使用简介

    在Node.js中,可以使用require.resolve函数来查询某个模块文件的带有完整绝对路径的文件名,下面这篇文章主要介绍了Node.js中require.resolve方法使用的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-04-04
  • node实现shell命令管理工具及commander.js学习

    node实现shell命令管理工具及commander.js学习

    这篇文章主要为大家介绍了node实现shell命令管理工具及commander.js学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • nodejs实现的连接MySQL数据库功能示例

    nodejs实现的连接MySQL数据库功能示例

    这篇文章主要介绍了nodejs实现的连接MySQL数据库功能,结合实例形式分析了nodejs连接及查询mysql数据的相关操作步骤与实现技巧,需要的朋友可以参考下
    2018-01-01
  • node版本切换与版本升级降级教程(win)

    node版本切换与版本升级降级教程(win)

    nvm是一个node的版本管理工具,可以简单操作node版本的切换、安装、查看,下面这篇文章主要给大家介绍了关于node版本切换与版本升级降级教程的相关资料,需要的朋友可以参考下
    2022-11-11
  • node.js中的buffer.toJSON方法使用说明

    node.js中的buffer.toJSON方法使用说明

    这篇文章主要介绍了node.js中的buffer.toJSON方法使用说明,本文介绍了buffer.toJSON的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • 浅析Node.js非对称加密方法

    浅析Node.js非对称加密方法

    本篇文章主要给大家分享了Node.js非对称加密方法以及代码实例讲解,对此有兴趣的朋友参考学习下吧。
    2018-01-01
  • nodeJs的安装与npm全局环境变量的配置详解

    nodeJs的安装与npm全局环境变量的配置详解

    这篇文章主要介绍了nodeJs的安装与npm全局环境变量的配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Nodejs使用express 编写接口的实现

    Nodejs使用express 编写接口的实现

    express是一个第三方模块,支持丰富的api,本文主要介绍了Nodejs使用express 编写接口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • node+axios实现服务端文件上传示例

    node+axios实现服务端文件上传示例

    这篇文章主要介绍了node+axios实现服务端文件上传示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06

最新评论