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程序设计有所帮助。