本文实例讲述了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.lengthvar buffer=new Buffer("www.baidu.com");console.log("buffer length:"+buffer.length)buffer length:13
希望本文所述对大家node.js程序设计有所帮助。
注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。