前言
在Node.js中,定义了一个Buffer类,该类用来创建一个专门存放二进制数据的缓存区。这篇文章就详细介绍了node.js中的Buffer类处理二进制数据的方法,下面话不多说,来看看详细的介绍。
创建Buffer对象
第一种:直接使用一个数组来初始化缓存区
var arr = [0,1,2]var buf = new Buffer(arr)
console.log(buf)执行效果:

第二种:直接使用一个字符串来初始化缓存区
var str = 'hello'
var buf = new Buffer(str)
console.log(buf)执行效果:

在Node.js中,将自动执行字符串的输入输出时的编码与解码处理,默认使用UTF8编码。
Buffer对象与字符串对象之间的相互转换
(1)toString
可以使用Buffer对象的toString方法将Buffer对象中保存的数据转换为字符串,使用方法如下:
buf.toString([encoding],[start],[end])可选参数1:用于指定Buffer对象中保存的文字编码格式,默认参数为UTF8。
可选参数2:指定被转换数据的起始位置,以字节为单位。
可选参数3:指定被转换数据的终止位置,以字节为单位。
示例代码如下:
var buf = new Buffer('阁下何不随风起')
console.log(buf)
console.log(buf.toString('utf8',9,12))
console.log(buf.toString('utf8',12,buf.length))效果如下:

控制台
(2)write
有时我们需要向已经创建的Buffer对象写入字符串,这时可以使用该Buffer对象的write方法。
buf.write(string,[offset],[length],[encodign])必须参数1:指定需要写入的字符串
可选参数2-3:指定字符串转换为字节数据后的写入位置,字节数据的书写位置为从第1+offset个字节开始到offset+length个字节为止。
可选参数4:编码格式,默认utf8
代码如下:
var buf = new Buffer('阁下何不随风起')
buf.write('扶摇直上千万里',0,buf.length)
console.log(buf.toString())运行效果如下:









