位置: 编程技术 - 正文

使用node.js中的Buffer类处理二进制数据的方法(node.js使用教程)

编辑:rootadmin

推荐整理分享使用node.js中的Buffer类处理二进制数据的方法(node.js使用教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js用到了什么,node.js怎么用,nodejs bull,node.js怎么用,node.js怎么用,nodejs bull,使用node.js中的模块,创建一个最基本的服务器,nodejs bull,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

在Node.js中,定义了一个Buffer类,该类用来创建一个专门存放二进制数据的缓存区。这篇文章就详细介绍了node.js中的Buffer类处理二进制数据的方法,下面话不多说,来看看详细的介绍。

创建Buffer对象

第一种:直接使用一个数组来初始化缓存区

执行效果:

第二种:直接使用一个字符串来初始化缓存区

执行效果:

在Node.js中,将自动执行字符串的输入输出时的编码与解码处理,默认使用UTF8编码。

Buffer对象与字符串对象之间的相互转换

(1)toString

可以使用Buffer对象的toString方法将Buffer对象中保存的数据转换为字符串,使用方法如下:

可选参数1:用于指定Buffer对象中保存的文字编码格式,默认参数为UTF8。

可选参数2:指定被转换数据的起始位置,以字节为单位。

可选参数3:指定被转换数据的终止位置,以字节为单位。

示例代码如下:

效果如下:

控制台

(2)write

有时我们需要向已经创建的Buffer对象写入字符串,这时可以使用该Buffer对象的write方法。

必须参数1:指定需要写入的字符串

可选参数2-3:指定字符串转换为字节数据后的写入位置,字节数据的书写位置为从第1+offset个字节开始到offset+length个字节为止。

可选参数4:编码格式,默认utf8

代码如下:

运行效果如下:

控制台

(3)StringDecoder对象

在Node.js中,也可以使用StringDecoder对象将Buffer对象中的数据转换为字符串,该对象的作用与Buffer对象的toString方法的作用相同,但是对于utf8编码格式的字符串提供了更好的支持。

在使用StringDecoder对象时,首先需要加载Node.js中的string_decoder模块,方法如下:

在加载了string_decoder模块后,可以创建一个StringDecoder对象,方法如下:

在需要将Buffer对象中的数据转换为字符串时,可以使用StringDecoder对象的write方法,write方法中可以使用一个参数,用于指定需要被转换的Buffer对象,该方法会返回转换后的字符串,代码如下:

好,来对比一下Buffer对象的toString方法和StringDecoder的write方法究竟谁对utf8支持的更好。

Buffer的toString方法如下:

使用node.js中的Buffer类处理二进制数据的方法(node.js使用教程)

运行效果如下:

控制台

当然,也可以用如下方法将两个buffer对象连接起来后再使用toString方法将其中的数据转换为字符串,但是当Buffer对象的长度较大时,这种操作的性能将会变得比较地下。

StringDecoder的write方法如下:

运行效果如下:

控制台

谁支持的更好一眼就可以看出来了。

Buffer对象与JSON对象之间的相互转换

在Node.js中,可以使用JSON.stringify方法将Buffer对象中保存的数据转换为一个字符串,也可以使用JSON.parse方法将一个经过转换后的字符串还原为一个数组。

复制缓存数据

当需要将Buffer对象中保存的二进制数据复制到另一个Buffer对象中时,可以使用Buffer对象的copy方法,copy方法的使用方法如下:

必须参数1:指定复制的目标Buffer对象

可选参数2:指定目标Buffer对象中从第几个字节开始写入数据

可选参数3:指定从复制源Buffer对象中获取数据时的开始位置,默认0

可选参数4:指定从复制源Buffer对象中获取数据时的结束位置,默认值为复制源对象的长度

示例代码如下:

运行效果如下:

控制台

Buffer类的类方法

(1)isBuffer方法

用于判断一个对象是否为一个Buffer对象,使用方法如下:

示例代码如下:

运行结果:

控制台

(2)byteLength方法

可以使用ByteLength方法计算一个指定字符串的字节数,使用方法如下:

必须参数1:指定需要计算字节数的字符串

可选参数2:编码格式,默认utf8

示例代码如下:

运行结果如下:

控制台

(3)isEncoding方法

isEncoding方法用于检测一个字符串是否为一个有效的编码格式字符串。使用方法如下:

在isEncoding方法中,使用一个参数,用于指定需要被检测的字符串,如果该字符串为有效的编码格式字符串,则方法返回true,如果该字符串不是一个有效的编码格式字符串,则方法返回false。

示例代码如下:

运行效果如下:

控制台

总结

标签: node.js使用教程

本文链接地址:https://www.jiuchutong.com/biancheng/374099.html 转载请保留说明!

上一篇:详解Node.js:events事件模块(详解16型人格)

下一篇:node.js中的事件处理机制详解(nodejs中的事件循环的执行顺序)

  • 如何计提当月的个人所得税?
  • 卖家电税是多少
  • 买烟草可以开发票吗
  • 公司之间往来款需要开收据吗
  • 自然人系统怎么申报个人所得税
  • 办公室租金发票可以扺军品企业增值税吗
  • 公司员工社保怎么办理的
  • 经营活动现金净流量公式
  • 企业合并股份比例
  • 融资租赁资产如何入账
  • 资产负债表里所有者权益合计为负数正常吗
  • 5.0车船税和交强险一年多少钱
  • 股票收入要交所得税吗
  • 劳务派遣差额征税会计分录
  • 贸易公司购进原材料会计分录
  • 增值税计入无形资产的入账价值吗?
  • 一般纳税人所说的税率是
  • 招标文件中资金性质应填什么
  • 实收资本减值会计处理
  • 计提折旧计算公式是什么
  • 权益法下对投资者的要求
  • itunes无法链接
  • 什么是额定功率和峰值功率
  • Win11怎么设置自启动软件
  • php+mysql项目实战教程
  • 关于工程材料的图书有哪些
  • 以房产投资联营,收取固定收入,不承担联营风险的房产
  • 虚拟机不能互相访问
  • PHP:escapeshellcmd()的用法_命令行函数
  • 生产员工福利计什么科目
  • 老板垫付的货款会计分录
  • 会计政策变更属于经营情况变化吗
  • 外贸出口企业增值税怎么结转
  • 我国消费税的特点
  • vue引入文件路径@的意思
  • carplcy车载有什么用
  • 装卸费属于什么大类
  • 房地产企业预缴增值税会计处理
  • 不动产固定资产的进项税抵扣新规定
  • 研发费用属于什么成本
  • 串口发送字节数据的数据格式是什么
  • 一笔购入多项固定资产
  • 小规模纳税人纳多少税
  • 新公司第一年年度总结
  • 一般纳税人适用什么会计准则
  • 收回以前年度的应收账款较多能说明什么呢?
  • 一般纳税人进销存怎么做
  • 劳务报酬所得怎么做分录
  • 公司资产业务
  • 农产品收购发票如何抵扣进项税
  • 党委费用支出需要什么票据
  • 电子银行承兑汇票到期怎么兑现
  • 生鲜配送账务处罚标准
  • 退回多交增值税账务处理小规模
  • 物流行业会计核算特征有哪些
  • win10屏幕自动变黄
  • mac系统命名规律
  • win10鼠标指针在文本区很小
  • windows xp自带
  • linux界面显示
  • win7浏览器主页怎么设置
  • win10预览版和正式版区别
  • win10预览版和正式版区别
  • win8桌面不见了
  • input submit、button和回车键提交数据详解
  • JQuery 又谈ajax局部刷新
  • [置顶]bilinovel
  • 自定义仪表盘的价值
  • shell监控文件
  • linux磁盘空间满了怎么办,硬盘空间还有很多
  • 基于javascript的毕业设计
  • 抛物线动画演示视频
  • android资源文件
  • jquery中的基本选择器有哪些
  • python网络编程从入门到精通
  • 小规模纳税人租金收入不超过30万
  • 税收分类分级管理是什么
  • 政府主管部门对企业检查要求
  • 新车缴纳车船税减免性质是什么
  • 重庆税务电子发票登录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设