node Buffer 处理二进制数据

JavaScript脚本代码中,对于二进制数据并没有提供一个很好的支持。在处理TCP流或文件流时,必须要二进制数据。因此node.js中定了一个Buffer类,该类用来创建一个专门存放二进制数据的缓存区。

创建Buffer对象

Buffer类是一个可以在任何模块中被利用的全局类,不需要为该类的使用而加载任何模块。可以使用new创建该类的实例对象。
Buffer类拥有三种形式的构造函数,

  1. 创建

第一种是至于要将缓存区大小(以字节为单位)指定为构造函数的参数

let buf = new Buffer(128)

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

let buf = new Buffer([0,1,2])

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

let buf = new Buffer('你好')
  1. 查看缓存区大小
buf.length
  1. buffer.fill fill方法来初始化缓存区中的所有内容
    fill方法中可以使用三个参数,第二个参数与第三个参数为可选参数
    第一个参数为必须指定参数
    第二个参数用于指定从第几个字节处开始写入
    第三个参数用于指定将数值一直写到第几字节处
buf.fill(value,[offset],[end])

Buffer 编码格式
编码 说明
ascii ASCII字符串
utf8 UTF-8 字符串
utf16le UFT-16LE字符串
ucs2 UCS2字符串
base64 经过BASE64编码后的字符串
binary 二进制数据(不推荐使用)
hex 使用十六进制数值表示的字符串
let buf = new Buffer('一', 'utf8')

Buffer只有一个取出指定位置处理数据的slice方法,该方法的使用方法与string对象的slice方法相同
buf.slice(2,4)

你可能感兴趣的:(node Buffer 处理二进制数据)