Buffer
创建Buffer实例
Buffer.alloc(size)
创建字节长度为size的Buffer对象
Buffer.from(string|Buffer)
Buffer.concat(list)
list为存放多个Buffer对象的数组。将多个buffer合并在一起,并返回一个新的buffer实例
Buffer.isBuffer(val)
val是否是Buffer
Buffer.byteLength(string)
获取string的字节长度
Buffer实例常用方法
buf.fill() 填充
buf.fill(value[, offset[, end]][, encoding]),使用指定的值填充buffer,参数offset指定填充的起始位置,end为结束位置
buf.copy() 复制
souceBuf.copy(targetBuf,tartgetStart,souceStart,sourceEnd)
const buf = Buffer.from('this is a buffer');
console.log(buf.indexOf('this'));
// Prints: 0
console.log(buf.indexOf('is'));
// Prints: 2
buf.slice([start[, end]]) 截取
截取字节数组的start至end,相当于Array.prototype.slice
buf.length
buf本身是一个字节数组,.length获取字节数组长度
buf.toString()
buf.indexOf()
demo
var str='清明时节家家雨'
var buf=Buffer.from(str)
console.log(buf) // <Buffer e6 b8 85 e6 98 8e e6 97 b6 e8 8a 82 e5 ae b6 e5 ae b6 e9 9b a8>
var str2=buf.toString()
console.log(str2) // 清明时节家家雨
console.log('str.length: ',str.length) // str.length: 7
console.log('buffer.length: ',buf.length) // buffer.length: 21
console.log("buf.indexOf('节'):", buf.indexOf('节'));// buf.indexOf('节'): 9
var tmp=buf.slice(9,15)
console.log('buf.slice(9,15).toString(): ',tmp.toString()) // buf.slice(9,15).toString(): 节家
var buf2=Buffer.alloc(6)
buf2.fill(tmp)
console.log('buf2.toString()',buf2.toString())// buf2.toString() 节家
var buf3=Buffer.alloc(6)
buf.copy(buf3,0,9,16)
console.log('buf3: ',buf2.toString()) //buf3: 节家
与string相互转换
string=>buffer
var buf=Buffer.from(string)
buffer=>string
var string=buffer.toString()
与json相互转换
buffer=>json
var json = JSON.stringfy(buf)//将buf转换为json格式数据
json=>buffer
var array = JSON.parse(json)//将json转化为array数组
var buf4=Buffer.from('青草池塘处处蛙')
var jsonString=JSON.stringify(buf4)
console.log(jsonString)
//{"type":"Buffer","data":[233,157,146,232,141,137,230,177,160,229,161,152,229,164,132,229,164,132,232,155,153]}
var json=JSON.parse(jsonString)
console.log(json);
// { type: 'Buffer',
// data:
// [ 233,
// 157,
// 146,
// 232,
// 141,
// 137,
// 230,
// 177,
// 160,
// 229,
// 161,
// 152,
// 229,
// 164,
// 132,
// 229,
// 164,
// 132,
// 232,
// 155,
// 153 ] }
var buf5=Buffer.from(json)
console.log(buf5)
//<Buffer e9 9d 92 e8 8d 89 e6 b1 a0 e5 a1 98 e5 a4 84 e5 a4 84 e8 9b 99>
var buf5String=buf5.toString()
console.log(buf5String);
// 青草池塘处处蛙