Node.Js Buffer类(缓冲区)-(二)

一、合并缓冲区

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

五、将Buffer转换成JSON对象

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

你可能感兴趣的:(NodeJs)