Buffer对象

准备知识

计算机只能识别 01 (因为计算机只认识通电和断电两种状态) 所有存储在计算机上的数据都是以 01 组成的(数据越大0和1就会越多)

计算机中的度量单位

1 B(Byte字节) = 8 bit(位)

  • 00000000 就是一个字节
  • 111111111 也是一个字节
  • 10101010 也是一个字节
  • 任意 801 的组合都是一个字节
  • 1 KB = 1024 B
  • 1 MB = 1024KB
  • 1 GB = 1024MB

什么是 Buffer

Buffer 是 NodeJS 全局对象上的一个类, 是一个专门用于存储字节数据的类, NodeJS 提供了操作计算机底层的API, 而计算机底层只能识别 01, 所以就提供了一个专门用于存储字节数据的类

创建一个 Buffer 对象

创建一个指定大小的 Buffer,语法如下:

Buffer.alloc(size[, fill[, encoding]])
let buf = Buffer.alloc(5);
console.log(buf);

通过 console.log(); 输出 Buffer 会自动将存储的内容转换成16进制再进行输出

创建一个指定大小的 Buffer 同时指定存储的内容

let buf = Buffer.alloc(5, 17);
console.log(buf);

根据数组或字符串创建一个 Buffer 对象

语法如下:

Buffer.from(string[, encoding])
let buf = Buffer.from("abc");
console.log(buf);
let buf = Buffer.from([1, 3, 5]);
console.log(buf);
console.dir(buf);

Buffer 对象本质

Buffer 本质就是一个数组,所以说可以像数组一样来操作 Buffer 中存储的内容如下所示:

let buf = Buffer.from([1, 3, 5]);
buf[0] = 6;
console.log(buf);
console.log(buf);
posted @ 2020-11-13 00:04  BNTang  阅读(192)  评论(0编辑  收藏  举报