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

来源:互联网 发布:华为软件研发面试经验 编辑:程序博客网 时间:2024/06/05 07:03

一、合并缓冲区

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)); //trueconsole.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

0 0