Node.js Buffer(缓冲区)
js 本身只有字符串数据类型, 没有二进制数据类型. 但是处理 TCP 流或文件流时, 必须使用二进制数据, 所以在 Node 中定义了一个 Buffer 类, 用来创建一个专门存放二进制数据的缓冲区.
一个 Buffer 类似于一个整数数组, 但它对应于 V8 堆内存之外的一块原始内存.
1.1 创建一个 Buffer
长度 var buf = new Buffer(10) 数组 var buf= new Buffer([11,22,33,44,33]) 字符串 var buf= new Buffer("www.runoob.com","utf-8")
utf-8 是默认的编码方式, 此外它同样支持以下编码:"ascii", "utf8", "utf16le", "ucs2", "base64" 和 "hex".
1.2 写入缓冲区
buf.write(string[, offset[, length]][, encoding])
返回值是实际写入的大小, 如果 Buffer 空间不足, 将写入部分字符串
1.3 从缓冲区读取数据
buf.toString([encoding[,start,[,end]]])
1.4 将 Buffer 转换为 JSON 对象
buf.toJSON()
1.5 缓冲区合并
Buffer.concat(list[,totalLength])
返回一个多个成员合并的新 Buffer 对象
1.6 缓冲区比较
buf.compare(otherBuffer)
返回一个数字, 表示 buf 在 otherBuffer 之前或之后或相等, 如果 < 0, 证明 buf 在 otherBuffer 之前
1.7 拷贝缓冲区
buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])
1.8 缓冲区裁剪
buf.slice([start[,end]])
1.9 缓冲区长度
buf.length
来源: http://www.qdfuns.com/article/42837/f61666808fb621f57a7007111cbf4517.html