Buffer对象
准备知识
计算机只能识别 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);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具