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 @   BNTang  阅读(204)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示