NodeJs-Buffer模块
Buffer#
Buffer(缓冲区)是一个类似于Array的对象,用于表示固定长度的字节序列
Buffer 本质是一段内存空间,专门用来处理 二进制数据
- Buffer 大小固定且无法调整
- Buffer 性能较好,可以直接对计算机内存进行操作
- 每个元素的大小为 1 字节(byte)
创建Buffer#
-
使用alloc
// 创建一个长度是10字节的Buffer,相当于申请了10字节的内存空间,每个字节的值是0 let buffer = Buffer.alloc(10) console.log(buffer) // <Buffer 00 00 00 00 00 00 00 00 00 00>
-
使用allocUnsafe
// 创建一个长度是10字节的Buffer // buffer中可能存在旧的数据,可能会影响执行结果 // 因为内存空间是可以复用的,allocUnsafe创建的时候不会清空,alloc会对旧数据进行清空 // allocUnsafe相比alloc性能更好 let buffer = Buffer.allocUnsafe(10)
-
使用from
// 通过字符串创建buffer,根据字符串Unicode码中对应的数字创建 let buffer = Buffer.from("helloworld") // 通过数组创建buffer,数组中的数组会转成二进制然后创建 let buffer = buffer.from([1,2,3,4,1111,222])
-
可以将buffer与字符串进行转换
let buffer = buffer.from([1,2,3,4,1111,222]) // 使用toString方法-按照 utf8 编码将 Buffer 中的二进制数据转换为字符串 console.log(buffer.toString())
使用buffer#
let buffer = Buffer.from("helloworld")
// 使用下标读取
console.log(buffer[0])
// 此处的toString(2)是进行进制转换,转换成二进制
console.log(buffer[0].toString(2))
修改buffer#
// 使用下标修改
buffer[0] = 100
// 查看修改的结果
console.log(buffer.toString())
- 如果修改的数值超过 255 ,则超过 8 位数据会被舍弃
- 一个 utf-8 的字符 一般 占 3 个字节
风月都好看,人间也浪漫.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!