Buffer对象
  TEZNKK3IfmPf 2023年11月12日 20 0

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

计算机中的度量单位

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

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

什么是 Buffer

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

创建一个 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);
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月17日   46   0   0 算法数组
  TEZNKK3IfmPf   2024年04月19日   36   0   0 typescript数组编译器
  TEZNKK3IfmPf   2024年05月17日   42   0   0 数组php
TEZNKK3IfmPf