//Buffer缓冲区 var buf = new Buffer(100); //创建长度为100字节的Buffer实例; //写入缓冲区,write方法的返回值是实际写入的大小,如果空间不足只会写入部分字符串 var len = buf.write('www.runoob.com');//用write方法写入,有四个参数,第一个是写入的字符串,第二个是缓冲区开始写入的索引值,默认为0.第三个是写入字节数,默认为buf.length,第四个是使用的编码,默认为utf8 console.log('write input byte number:'+len);//返回14 //从缓冲区中读取数据 var str = buf.toString('utf8',5,10);//使用toString()方法读取缓冲区的数据,三个参数,第一个是使用的编码,第二个是开始读取的索引,默认是0,点歌是结束位置,默认是缓冲区结尾 console.log('Output string is: '+str); //Buffer 转换Json 对象 //var strJson = buf.toJSON(); //console.log('convert to JSON :'+ JSON.stringify(strJson)); //缓冲区合并 var buf_2 = new Buffer('learning web:');//创建一个长度为50的缓冲区 var buf_3 = Buffer.concat([buf_2,buf]);//合并两个缓冲区,concat方法的参数是一个数组,数组包含要合并的缓冲区 console.log(buf_3.toString()); //拷贝缓冲区 var buf_copy = new Buffer(14);//创建缓冲区 buf.copy(buf_copy);//把buf缓冲区拷贝到buf_copy,因为buf_copy长度只有14,所以只有拷贝到buf缓冲区0到14的数据; console.log(buf_copy.toString()); //缓冲区裁剪 var buf_slice = buf.slice(0,5);//两个参数分别是裁剪的起始索引和终点索引,ps:返回的是一个新的缓冲区,它和旧缓冲区指向同一块内存,只是索引在star到end的位置裁剪了,如果就缓冲区发生变化,裁剪得到的新缓冲区可能发生变化 console.log('buf slice: ' + buf_slice.toString());//打印新缓冲区 buf.write('mao gui you liu dong mei',0);//改变旧缓冲区 console.log(buf.toString());//打印旧缓冲区 console.log('buf slice and buf change: ' + buf_slice.toString());//打印出的是 mao g,因为就缓冲区和新缓冲区指向同一块内存,旧缓冲区发生改变,新缓冲区也会相应改变 //计算缓冲区的长度 var buf_length = buf.length; console.log('buf length:' + buf_length);//100 //更多Buffer模块的方法可参考如下网址:http://www.runoob.com/nodejs/nodejs-buffer.html
node.js Buffer常用方法
最新推荐文章于 2023-07-16 17:05:47 发布