node.js Buffer常用方法

来源:互联网 发布:陕西和泰单片机 编辑:程序博客网 时间:2024/05/01 03:13
//Buffer缓冲区var buf = new Buffer(100); //创建长度为100字节的Buffer实例;//写入缓冲区,write方法的返回值是实际写入的大小,如果空间不足只会写入部分字符串var len = buf.write('www.runoob.com');//用write方法写入,有四个参数,第一个是写入的字符串,第二个是缓冲区开始写入的索引值,默认为0.第三个是写入字节数,默认为buf.length,第四个是使用的编码,默认为utf8console.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
0 0
原创粉丝点击