JavaScript 语言自身只有字符串数据类型,没有二进制的数据类型。
但在处理像TCP 流或文件流时, 必须使用到二进制的数据。 因此在Node.js中,定义了一个Buffer类,该类用来创建一个专门存放二进制数据的缓存区。
在Node.js中,Buffer类是随Node内核一起发布的核心库。Buffer库为Node.js 带来了一种存储原始数据的方法, 可以让Node.js处理二进制数据,每当需要在Node.js中处理I/O操作中移动的数据时, 就有可能使用Buffer库。原始数据存储在Buffer类的实例中。 一个Buffer类似于一个整数数组, 但它对应于V8 堆内存之外的一块原始内存。
创建Buffer 类
Node Buffer 类可以通过多种方式来创建。
方法1
创建长度为10字节的Buffer 实例:
var buf = new Buffer(10)
方法2
通过给定的数据创建Buffer实例:
var buf = new Buffer([10, 20, 30, 40, 50])
方法3
通过一个字符串来创建Buffer实例:
var buf = new Buffer('www.runoob.com', 'utf-8')
utf-8是默认的编码方式, 此外它同样支持以下编码:“ascii”,"utf8","utf16le","usc2","base64"和“hex”。