首页 > Web开发 > 详细

node.js Buffer类(二进制数据处理模块)

时间:2019-05-18 19:24:08      阅读:105      评论:0      收藏:0      [点我收藏+]

Buffer类概述

一个用于更好的操作二进制数据的类 我们在操作文件或者网络数据的时候,其实操作的就是二进制数据流

Node为我们提供了一个更加方便的去操作这种数据流的类 Buffer,他是一个全局的类,不需要引入后才能使用,可以直接使用

 

Buffer类的构造方法

new Buffer(size)

分配一个新的buffer大小是size的8位字节,参数size是一个Number类型的(类似数组的长度),一个长度表示1个字节

创建一个Buffer对象,并为这个对象分配一个大小,当我们为一个Buffer对象分配了大小之后,其长度是固定不变的,不能更改

技术分享图片

技术分享图片

打印出来的结果是以16进制的方式打印的

技术分享图片

new Buffer(array)

分配一个新的Buffer使用一个8位字节Array数组

技术分享图片

技术分享图片

给某角标赋值

技术分享图片

技术分享图片

new Buffer(string, [encoding])

存储一个字符串的时候,需要告诉Buffer一个编码,不同编码结果是不一样的,默认编码是utf-8

Node里面并不是支持所有编码,支持的编码有:ascll/utf16le/ucs2/base64/binary/hex

技术分享图片

技术分享图片

这里直接打印出来的是十六进制的表示

 

 

Buffer的属性

Buffer的length属性和buf[index]

buf.length : buffer的bytes大小

buf[index] : 获取或者设置在指定index索引位置的8位字节内容

技术分享图片

技术分享图片

Buffer的length属性需要注意的地方

这个length的属性指的不是字符的长度,而是字节的长度(buffer的bytes大小).一个中文是3个字节

技术分享图片

技术分享图片

 

 

 

Buffer的方法

buf.write(string, [offset], [length], [encoding])

根据参数 offset 偏移量和指定的encoding编码方式,将参数 string 数据写入buffer

buf.write(要写入的字符串, Buffer对象中的几位开始写入, 写入的字符串的长度, 写入的字符串的编码)

 

 

 

 

标准输入输出流中其实也是使用了Buffer

node.js Buffer类(二进制数据处理模块)

原文:https://www.cnblogs.com/LO-ME/p/10471988.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!