1.缓冲区Buffer是暂时存放输入输出数据的一段内存。
2.JS语言自身只有字符串数据类型,没有二进制数据类型,而在处理TCP和文件流的时候必须要处理二进制数据。
3.NodeJS提供了一个Buffer对象来提供对二进制数据的操作
4.是一个表示固定内存分配的全局对象,也就是说要放到缓存区中的字节数需要提前确定。
5.Buffer好比一个八位字节元素组成的数组,可以有效的在javascript中表示二进制数据。
一、定义Buffer-----现在感觉buffer像一个字节数组
第一种创建方式
1. new Buffer(size)
eg: var buf1 = new Buffer(6); //参数size指定buffer的长度
buf1.fill(0); // 把buffer中的所有元素置为0
第二种创建方式
2.数组创建new Buffer(array);
// 数组里一定是一个数字,范围在0-255之间
eg: var buf2 = new Buffer([1,2,3]);
第三种创建方式
字符串的创建
new Buffer(str,[encoding]);
eg: buf3 = new Buffer("abc")
二、Buffer常用的方法
合并Buffer
Buffer.concat([buf1,buf2],length)
复制Buffer
Buffer.copy(targetBuffer,targetstart,sourcestart,sourceend)
判断是否为一个Buffer
Buffer.isBuffer()
获取字节的长度
Buffer.byteLength()