node Buffer缓存区常见操作示例
本文实例讲述了nodeBuffer缓存区常见操作。分享给大家供大家参考,具体如下:
创建buffer类
varbuf=newbuffer(10);
varbuf=newbuffer([10,20,30,40]);
varbuf=newbuffer("www.baidu.com","utf-8");
写入缓存区
buf.write(string[,offset[,length]][encoding])
buf=newbuffer(256);
len=buf.write("www.baidu.com")
console,log("写入字节数:"+len)
从缓存读取数据
buf.toString([encoding[,start[,end]]])
buf=newbuffer(26);
for(vari=0;i<26;i++;){
buf[i]=i+97;
}
console.log(buf.toString('ascill'));
console.log(buf.toString('ascill',0,5))
console.log(buf.toString('utf-8',0,5))
console.log(buf.toString('undefined',0,5))
转为json
buf.toJSON()
varbuf=newbuffer('www.baidu.com');
varjson=buf.toJSON('buf')
console.log(json)
缓存合并
buffer.concat(list[,totalLength]);
varbuffer1=newBuffer('百度搜索');
varbuffer2=newBuffer('www.baidu.com');
varbuffer3=Buffer.concat([buffer1,buffer2]);
console.log("buffer3内容"+buffer3.toString())
缓存区比较
buf.compare(otherBuffer)
varbuffer1=newBuffer('ABC');
varbuffer2=newBuffer('ABCD');
varresult=buffer1.compare(buffer2);
if(result<0){
console.log(buffer1+"在"+buffer2+"之前")
}elseif(result==0){
console.log(buffer1+"等于"+buffer)
}else{
console.log(buffer1+"在"+buffer2+"之后")
}
拷贝缓存区
buf.copy(targetBuffer[,targetStart[,sourceStart[,sourcEnd]]])
varbuffer1=newBuffer('ABC');
varbuffer2=newBuffer(3);
buffer1.copy(Buffer2);
console.log("buffer2content:"+buffer2.toString())
缓存区裁剪
buf.slice([start[,end]])
varbuffer1=newBuffer('baidu')
varbuffer2=buffer1.slice(0,2);
console.log("buffer2content:"+buffer2.toString());
buffer2content:ba
缓存区长度
buf.length
varbuffer=newBuffer("www.baidu.com");
console.log("bufferlength:"+buffer.length)
bufferlength:13
希望本文所述对大家node.js程序设计有所帮助。