(编辑:jimmy 日期: 2024/11/18 浏览:2)
本文实例讲述了node Buffer缓存区常见操作。分享给大家供大家参考,具体如下:
创建buffer类
var buf=new buffer(10); var buf=new buffer([10,20,30,40]); var buf=new buffer("www.baidu.com","utf-8");
写入缓存区
buf.write(string[,offset[,length]][encoding]) buf=new buffer(256); len=buf.write("www.baidu.com") console,log("写入字节数:"+len)
从缓存读取数据
buf.toString([encoding[,start[,end]]]) buf=new buffer(26); for(var i=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() var buf=new buffer('www.baidu.com'); var json=buf.toJSON('buf') console.log(json)
缓存合并
buffer.concat(list[,totalLength]); var buffer1=new Buffer('百度搜索'); var buffer2=new Buffer('www.baidu.com'); var buffer3=Buffer.concat([buffer1,buffer2]); console.log("buffer3内容"+buffer3.toString())
缓存区比较
buf.compare(otherBuffer) var buffer1=new Buffer('ABC'); var buffer2=new Buffer('ABCD'); var result=buffer1.compare(buffer2); if(result<0){ console.log(buffer1+"在"+buffer2+"之前") }else if(result==0){ console.log(buffer1+"等于"+buffer) }else{ console.log(buffer1+"在"+buffer2+"之后") }
拷贝缓存区
buf.copy(targetBuffer[,targetStart[,sourceStart[,sourcEnd]]]) var buffer1=new Buffer('ABC'); var buffer2=new Buffer(3); buffer1.copy(Buffer2); console.log("buffer2 content:"+buffer2.toString())
缓存区裁剪
buf.slice([start[,end]]) var buffer1=new Buffer('baidu') var buffer2=buffer1.slice(0,2); console.log("buffer2 content:"+buffer2.toString()); buffer2 content:ba
缓存区长度
buf.length var buffer=new Buffer("www.baidu.com"); console.log("buffer length:"+buffer.length) buffer length:13
希望本文所述对大家node.js程序设计有所帮助。