Buffer

buffer(缓冲器)

1.概念

Buffer是一个类似于数组的对象,用于表示固定长度的字节序列。其本质是一段内存空间,专门用来处理二进制数据。

2.特点

  • buffer长度固定并且无法调整。
  • buffer性能好,可以直接对计算机内存进行操作。
  • buffer中每个元素的大小为1字节。

3.创建

  • alloc
    buffer以字节为单位,每个字节是8个bit。
  let buf1 = Buffer.alloc(10)  //创建一个长度为10字节的buffer
  • allocUnsafe
    与alloc区别:alloc方法创建buffer时会对缓冲区域内的内容进行清零。
    allocUnsafe不会对内容进行清零,所以使用allocUnsafe创建内存空间时会含有该空间以前存储的数据。
let buf2 = Buffer.allocUnsafe(10)  //创建一个长度为10字节的buffer
  • from
    from方法可以将一个字符串或者数组转换为buffer。
  //通过字符串创建buffer
  let buf3=Buffer.from('hello');  
  console.log(buf3);    //  <Buffer 68 65 6c 6c 6f>

这里输出的数据是以十六进制的形式显示的。实际上缓冲器的存储原理是首先将字符串hello中的每个字符根据Unicode表中对应的十进制进行转换,再以二进制的形式存储在内存中,输出时转换为16进制。

  //通过数组创建buffer
  let buf_4=Buffer.from([111,222,333,444,555,666]);  
  console.log(buf_4)     //<Buffer 6f de 4d bc 2b 9a>

原理同上。

4.转换为字符串

使用toString()方法

  let buf_4=Buffer.from([105,108,111,118,101,121,111,117]);
  console.log(buf_4.toString())    //输出iloveyou

5.读取和写入

通过下标进行对内容的读写

let buf_4=Buffer.from([105,108,111,118,101,121,111,117]);
console.log(buf_4[2]);     //读取buffer里的第三个元素
buf_4[2]=110;   //更改元素值
console.log(buf_4[2]);   //110
console.log(buf_4.toString())   //ilnveyou

相关推荐

  1. Buffer

    2024-05-13 21:22:04       33 阅读
  2. Buffer(缓冲)、Cache(缓存)

    2024-05-13 21:22:04       60 阅读
  3. NIO-Buffer详解

    2024-05-13 21:22:04       52 阅读
  4. 【Node系列】Buffer详解

    2024-05-13 21:22:04       41 阅读
  5. mysql Change buffer详解

    2024-05-13 21:22:04       47 阅读
  6. Buffer模块(nodejs)

    2024-05-13 21:22:04       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-13 21:22:04       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-13 21:22:04       74 阅读
  3. 在Django里面运行非项目文件

    2024-05-13 21:22:04       62 阅读
  4. Python语言-面向对象

    2024-05-13 21:22:04       72 阅读

热门阅读

  1. 常见请求方法及状态码分析

    2024-05-13 21:22:04       26 阅读
  2. leetcode刷题

    2024-05-13 21:22:04       28 阅读
  3. 字符数组(字符串):单词计数

    2024-05-13 21:22:04       34 阅读
  4. 翻译prompt

    2024-05-13 21:22:04       27 阅读
  5. Vue ref,reactive 响应式引用

    2024-05-13 21:22:04       27 阅读
  6. mediasoup源码(一)编译及部署

    2024-05-13 21:22:04       28 阅读
  7. js 脚本语言

    2024-05-13 21:22:04       23 阅读
  8. 代码随想录算法训练营第36期DAY23

    2024-05-13 21:22:04       26 阅读
  9. 接口安全设计之防篡改和防重放

    2024-05-13 21:22:04       28 阅读
  10. 后端返回文件流格式,前端vue 导出下载表格

    2024-05-13 21:22:04       30 阅读