NodeJs-Buffer模块

Buffer#

Buffer(缓冲区)是一个类似于Array的对象,用于表示固定长度的字节序列

Buffer 本质是一段内存空间,专门用来处理 二进制数据

  • Buffer 大小固定且无法调整
  • Buffer 性能较好,可以直接对计算机内存进行操作
  • 每个元素的大小为 1 字节(byte)
创建Buffer#
  1. 使用alloc

    // 创建一个长度是10字节的Buffer,相当于申请了10字节的内存空间,每个字节的值是0
    let buffer = Buffer.alloc(10)
    console.log(buffer) // <Buffer 00 00 00 00 00 00 00 00 00 00>
    
  2. 使用allocUnsafe

    // 创建一个长度是10字节的Buffer
    // buffer中可能存在旧的数据,可能会影响执行结果
    // 因为内存空间是可以复用的,allocUnsafe创建的时候不会清空,alloc会对旧数据进行清空
    // allocUnsafe相比alloc性能更好
    let buffer = Buffer.allocUnsafe(10)
    
  3. 使用from

    // 通过字符串创建buffer,根据字符串Unicode码中对应的数字创建
    let buffer = Buffer.from("helloworld")
    
    
    // 通过数组创建buffer,数组中的数组会转成二进制然后创建
    let buffer = buffer.from([1,2,3,4,1111,222])
    
  4. 可以将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 个字节

作者:木子七

出处:https://www.cnblogs.com/Mickey-7/p/18603185

posted @   木子七  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示
workspaces
keyboard_arrow_up dark_mode palette
选择主题
menu