美文网首页
5. 使用Buffer类处理二进制数据

5. 使用Buffer类处理二进制数据

作者: gem_Y | 来源:发表于2020-07-03 22:13 被阅读0次

Buffer类(是全局类) 是专门存放二进制数据的缓冲区。

5.1 创建Buffer类

构造函数 1 ---- 只需将缓存区大小 指定为构造函数的参数

buf = new Buffer(size)
  • buf.length 查看缓存区大小
  • buf.fill(value, offset, end) 初始化缓存区中的所有内容


    image.png

构造函数 2 ---- 使用一个数组来初始化缓冲区

new Buffer(array)
image.png

构造函数 3 ---- 使用一个字符串来初始化缓冲区

// encoding-----文字编码格式的字符串,默认为utf8,其他的还有 base64、ascii...
new Buffer(str, encoding)
image.png

5.2 字符串与缓冲区

字符串的长度:以文字作为单位
缓存区的长度:以字节作为单位


image.png
  1. 根据下标取出的数据
    缓存区 buf[2] 获取的是 缓冲区中第三个字节转换为整数后的值


    image.png
  2. 字符串对象一旦创建后不可被修改,而buffer对象可以通过序号来修改其中某个字节的数据


    image.png
  3. 虽然字符串对象拥有indexOf 、出指定位置的数据。而且Buffer对象的slice对象并不是复制缓存区中的数据,而是与该数据共享内存区域,因此如果修改slice方法取出的数据,则缓存区中保存的数据也将被修改。

image.png

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

5.3.1. Buffer对象的toString方法


image.png

5.3.2. Buffer对象的write方法
可以向已经创建的Buffer对象中写入字符串


image.png

5.3.3. StringDecoder对象
StringDecoder对象的write 方法,可以处理 当使用多个对象分割字符串时,则可以正确地将每个Buffer对象中的数据正确地转换为字符串。


image.png

5.4 Buffer对象与数值对象之间的相互转换

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

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

image.png

5.6 复制缓存数据

copy方法
下面是将a 中的内容复制到b处


image.png

5.7 Buffer类的类方法

5.7.1 isBuffer: 用于判断一个对象是否为Buffer对象


image.png

5.7.2 byteLength 计算一个指定字符串的字节数


image.png

5.7.3 concat 方法
将几个Buffer对象结合创建为一个新的Buffer对象


image.png

5.7.4 isEncoding 用于检测一个字符串是否为一个有效的编码格式字符串


image.png

相关文章

  • Node.js使用Buffer类处理二进制数据(二)

    Node.js使用Buffer类处理二进制数据(一) Buffer类的方法 (1)isBuffer()方法:该方法...

  • 5. 使用Buffer类处理二进制数据

    Buffer类(是全局类) 是专门存放二进制数据的缓冲区。 5.1 创建Buffer类 构造函数 1 ---- ...

  • Buffer与Stream

    Buffer缓冲器 Buffer就是缓冲器的意思,这个类主要是内存用来处理原始二进制数据的。我们知道,二进制是0和...

  • Nodejs Buffer

    Buffer用于存储原始数据,可以让Nodejs处理二进制数据。Nodejs中处理I/O操作就可能用到Buffer...

  • nodejs基础

    Buffer: 处理二进制数据 二进制数据的获取 文件数据 网络数据 二进制数据的可读性:base64 Base6...

  • Node之使用Buffer类处理二进制数据

    创建Buffer对象 调用new Buffer(size),size为缓存区大小 fill()方法来初始化缓存区中...

  • Buffer

    Buffer结构 背景  js语言没有读取或操作二进制数据流的机制,Buffer类被引入作为Nodejs API的...

  • Node.js学习之路day2

    1. node Buffer 处理tcp,文件等流的时候,必须要用到二进制数据,node的Buffer就是一个专门...

  • nodejs 的基础模块 Buffer

    Buffer 文档 Buffer 用于处理二进制数据流 实例类似证书数组,大小固定 C++ 代码在 V8 堆外分配...

  • Buffer简单理解及常用方法介绍

    Buffer 介绍 javascript 中对数据处理都是以字符串的形式,而对于二进制数据就不便于处理,所以 Bu...

网友评论

      本文标题:5. 使用Buffer类处理二进制数据

      本文链接:https://www.haomeiwen.com/subject/cxieqktx.html