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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值