nodejs buffer
yaokun123 edited this page Jan 28, 2019
·
1 revision
1、JavaScript语言没有读取或操作二进制数据流的机制。
2、Node.js中引入Buffer类型使我们可以操作TCP流 或 文件流
3、Buffer类型的对象类似于整数数组,但Buffer的大小是固定的、且在V8堆外分配物理内存。
Buffer的大小在被创建时确定,切无法调整(buf.length是固定的,不允许修改)。
4、Buffer是全局的。所以使用的时候无需require()的方式来加载。
- 1、创建一个Buffer对象
//1. 通过Buffer.from() 创建一个 Buffer 对象
//1.1 通过一个字节数组来创建一个Buffer对象
var arr = [0x68,0x65,0x6c,0x6f,0x20,0xe4,0xb8,0x96,0xe7,0x95,0x8c];
var buf = Buffer.from(arr);
console.log(buf.toString('utf-8'));
//1.2 通过字符串来创建一个Buffer对象
var buf = Buffer.from("你好世界!hello world!");
console.log(buf);
console.log(buf.toString);
- 2、拼接多个Buffer对象为一个对象
var bufferList = [];
var buf = Buffer.concat(bufferList);
- 3、获取字符串对应的字节个数
var len = Buffer.byteLength("你好世界!hello world!");
console.log(len);
- 4、判断一个对象是否是Buffer类型对象
Buffer.isBUffer(obj);
- 5、获取Buffer中的某个字节
bug[index]
- 6、获取Buffer对象中的字节个数
buf.length
Node.js目前支持的编码如下:
1、ascii
2、utf8
3、utf16e
4、base64
5、latin1
6、hex