一、合并缓冲区
Buffer.concat(list[, totalLength])
参数描述如下:
list - 用于合并的 Buffer 对象数组列表。
totalLength - 指定合并后Buffer对象的总长度。
返回值
返回一个多个成员合并的新 Buffer 对象。
var buf1=new Buffer('微工具集');
var buf2=new Buffer('www.gongjuji.net');
var buf3=Buffer.concat([buf1,buf2]);
console.log('合并结果:'+buf3.toString()); //合并结果:微工具集www.gongjuji.net
二、比较缓冲区
buf.compare(otherBuffer);
参数描述如下:
otherBuffer - 与 buf 对象比较的另外一个 Buffer 对象。
返回值
返回一个数字,表示 buf 在 otherBuffer 之前,之后或相同。
buf.equals(otherBuffer)
比较两个缓冲区是否相等,如果是返回 true,否则返回 false。
var buf1 = new Buffer('ABC');
var buf2 = new Buffer('ABCD');
var result = buf1.compare(buf2);
if (result < 0) {
console.log(buf1 + '在' + buf2 + '之前');
} else if (result == 0) {
console.log(buf1 + '与' + buf2 + '内容相同');
} else {
console.log(buf1 + '在' + buf2 + '之后');
}
//结果:ABC在ABCD之前
//判断是否相等,缓冲区内容是否同
var buf3=new Buffer('ABC');
console.log(buf3.equals(buf1)); //true
console.log(buf3.equals(buf2)); //false
三、拷贝缓冲区
buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])
参数描述如下:
targetBuffer - 要拷贝的 Buffer 对象。
targetStart - 数字, 可选, 默认: 0
sourceStart - 数字, 可选, 默认: 0
sourceEnd - 数字, 可选, 默认: buffer.length
返回值:没有返回值。
var buf1=new Buffer('ABCD');
// 拷贝一个缓冲区
var buf2=new Buffer(3);
buf1.copy(buf2,0,1);
console.log('buf2:'+buf2);// buf2:BCD
四、剪切缓冲区
buf.slice([start[, end]])
参数描述如下:
start - 数字, 可选, 默认: 0
end - 数字, 可选, 默认: buffer.length
返回值
返回一个新的缓冲区,它和旧缓冲区指向同一块内存,但是从索引 start 到 end 的位置剪切。
var buf1=new Buffer('ABCD');
//剪切缓冲区
var buf2=buf1.slice(0,2);
console.log('buf2:'+buf2); //buf2:AB
buf.toJSON()
返回JSOn对象
var buf=new Buffer('{name:\'张三\'}');
var json=buf.toJSON();
console.info(json);
// { type: 'Buffer',
// data: [ 123, 110, 97, 109, 101, 58, 39, 229, 188, 160, 228, 184, 137, 39, 125 ]
// }
var buf2=new Buffer('www.gongjuji.net');
var json2=buf2.toJSON();
console.info(json2);
// { type: 'Buffer',
// data:
// [ 119, 119, 119, 46, 103, 111, 110, 103, 106, 117, 106, 105, 46, 110, 101, 116 ]
// }
Buffer 类一:http://blog.csdn.net/u011127019/article/details/52512242