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 个字节
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值