2.node-BUffer(缓存器)

68 阅读1分钟

一.概念

Buffer是一个类似于数组的对象, 用于表示固定长度的字节序列

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

二.特点

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

三.使用

3.1.创建Buffer

  1. Buffer.alloc

    //创建了一个长度为10字节的Buffer, 相当于申请了10字节的内存空间, 每个字节的值为0
    let buf_1 = Buffer.alloc(10)
    
  2. Buffer.allocUnsafe

    //创建了一个长度为10字节的Buffer,Buffer中可能存在旧的数据, 可能会影响执行结果, 所以叫unsafe
    let buf_2 = Buffer.allocUnsafe(10)
    
  3. Buffer.from

    //通过字符串创建Buffer
    let buf_3 = Buffer.from('hello')
    //通过数组创建Buffer
    let buf_4 = Buffer.from([105,108,111,118,101,121,111,117])
    

3.2.Buffer与字符串的转化

借助toString方法将Buffer转为字符串, toString默认是按照utf-8编码方式进行转换的

3.3.Buffer的读写

Buffer可以直接通过[]的方式对数据进行处理

注意: 1. 如果修改的数值超过255, 则超过8位数据会被舍弃