node.js buffer学习记录

为何需要buffer?

因为JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。而我们需要会读取和处理二进制数据。

如何创建一个buffer?

用new关键字,如下创建了一个字符串的buffer。 length属性用来查看buffer的长度

> var buf = new Buffer("www.runoob.com", "utf-8"); 
undefined
> buf.length
14

再比如创建一个数组的buf

> var buf = new Buffer([1,2,3])
undefined
> buf.length
3

还可以这样
如下,先创建一个buffer,123的意思是buffer的长度是123.之后再向上述buf写入内容,然后返回值是buf的长度。就是apple的字符数。

> buf=new Buffer(123)

> buf.write('apple')
5

如何读取buffer数据?

如下,利用toString函数,参数是解码方式,以及起始和结束值。

> buf=new Buffer(26)

> for (var i=0;i<26;i++){
... buf[i]=i+97;}
122
> console.log(buf.toString('ascii',0,5));
abcde

合并buffer

利用Buffer.concat,参数是一个数组。

> buf1=new Buffer('you love me')

> buf2=new Buffer('you hate me')

> var buffer3=Buffer.concat(buf1,buf2)
> console.log(buffer3.toString('ascii'))
you love meyou hate me
undefined

剪裁缓冲区

利用slice。

> var buffer1 = new Buffer('runoob');
> var buffer2 = buffer1.slice(0,2);
> console.log(buffer2.toString())
ru

总结

没啥意思

参考

Node.js Buffer(缓冲区) | 菜鸟教程

你可能感兴趣的:(node.js buffer学习记录)