Buffer又名缓冲器,是一块分配的一块内存区域,可以把它看做是一个整数数组,每个整数代表一个数据字节。Buffer数据类型引入的目的帮助开发者处理二进制数据。它与下篇将要介绍的流紧密相关。当流接收的速度比其消化的速度快时,数据会放入Buffer中。本篇主要介绍关于Buffer的操作的API。

/*** Buffer*///创建Buffer
var buffer1 = Buffer.from("Tonny");
//打印buffer1
console.log("buffer1的值为:",buffer1.toString());
//使用索引访问
console.log("buffer1 索引0位置的值:",buffer1[0]);
//获取buffer1的长度
console.log("buffer1的长度:",buffer1.length);
//修改特定索引位置的值
buffer1[1] = 99;
console.log("buffer1的修改后的值为:",buffer1.toString());//创建时,并使用0初始化
var buffer2 = Buffer.alloc(4);
buffer2.write("Jhon");
//打印buffer2的值
console.log("buffer2的值为:",buffer2.toString());//创建时,不会初始化,分配的内存片段可能包含可能敏感的旧数据,因此不安全,在使用它时必须格外小心。
var buffer3 = Buffer.allocUnsafe(6);
buffer3.write("123456");
//打印buffer3的值
console.log("buffer3的值为:",buffer3.toString());//复制
var buffer4 = Buffer.alloc(2);
buffer1.copy(buffer4,0,0,2);
//打印buffer4
console.log("buffer4的值:",buffer4.toString());//切片:buffer 的局部视图,它不是副本:原始 buffer 仍然是真正的来源。 如果那改变了,则切片也会改变。
console.log("buffer1的前2个字符的切片:",buffer1.slice(0,2).toString());
buffer1[0]= 77;
console.log("buffer1的前2个字符的切片【buffer1修改后】:",buffer1.slice(0,2).toString());

运行结果如下:

Node.js的Buffer相关推荐

  1. 7.node.js的Buffer(缓冲区)的合并(concat)、比较(compare)、拷贝(copy)和裁剪(slice)以及如何转化为JSON对象

    文章目录 node.js的Buffer(缓冲区)之二 如何将Buffer转化为JSON对象 Buffer的合并(concat)和比较(compare) Buffer的拷贝(copy)和裁剪(slice ...

  2. node.js 系列——Buffer

    Buffer缓存对象 纯粹的Javascript 对Unicode 很友好,但是操作二进制数据就不怎么在行了.处理TCP 数据流或者文件时,必 须要操作二进制数据流.node 提供了一些方法来创建.操 ...

  3. Node.js:Buffer基础

    文章目录 创建Buffer对象 Buffer对象的常用方法 1. Buffer.from(string[, encoding]) 2. Buffer.from(array) 3. Buffer.all ...

  4. 【NODE.JS】Buffer

    Buffer是一个Array的对象,主要用于操作字节. 目录 1. 模块结构 2. Buffer对象 3. Buffer内存分配 4. Buffer的转换 5. Buffer的拼接 6. 正确拼接Bu ...

  5. node.js Stream Buffer FsPromise

    Stream: 类似这样:a.pipe(b).pipe(c); 我想写一个b.所以: var rs=new (require('stream').Readable)(); var ws=new (re ...

  6. node.js将buffer对象转换为json对象

    d 是buffer对象 let jsstr = JSON.stringify(d);let jsondata = JSON.parse(jsstr);let buf = new Buffer(json ...

  7. node MySQL buffer_node.js中buffer方法使用说明

    熟悉JavaScript的童鞋应该对Node.js都不陌生,没错Node.js是一个基于Chrome JavaScript运行时建立的平台,用于方便地搭建响应速度快.易于扩展的网络应用.Node.js ...

  8. Node.js Buffer

    目录 I/O 操作中传输数据的格式 文件 I/O 中数据格式 网络 I/O 中的数据格式 JavaScript与二进制数据 Node.js 的 Buffer类 Buffer是啥 Buffer对象的内存 ...

  9. base64 转二进制_一篇文章弄明白Node.js与二进制数据流

    1 认识二进制数据 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是"逢二进一",借位规则是"借一当二", ...

最新文章

  1. CentOS 7 的初始化
  2. 实现透明渐变的Activity
  3. ubuntu11.10 mysql_Ubuntu11.10下mysql+apache+PHP
  4. 中发生数据丢失_如何防止Redis脑裂导致数据丢失?
  5. linux 常见命令整理记录
  6. Productivity Power Tools 动画演示(转)
  7. 错误提示:ssh: Could not resolve hostname devsrv: Name or service not known
  8. Python中的偏函数和函数柯里化
  9. 排序合并连接(sort merge join)的原理
  10. pdfjs实现pdf预览
  11. linux全自动备份网站到百度云盘,Linux定时备份数据到百度云盘(示例代码)
  12. 【数学建模】CUMCM-2010A 储油罐的变位识别与罐容表标定 解题思路整理
  13. 微信的自动回复接入聊天机器人
  14. 松下伺服电机uvw接线图_伺服电机接线图图解
  15. 素数表(Eratosthenes)
  16. MATLAB安装 C盘空间不足问题解决
  17. 把int型转成如66ccff这样的颜色16进制颜色代码
  18. pycharm IDEA专业版2016.3.2版本和 python3.5.0 win7 64位安装包 百度云资源共享 及安装和编辑器注册图录
  19. leetcode-每日一题2021.9.30 矩形面积
  20. python操作Excel设置打印标题时碰到的一个小问题

热门文章

  1. JavaScript错误调试与处理——错误调试_断点
  2. 学计算机信息管理专业可以考一级造价师么,【计算机专业可以报考造价工程师吗_2021年一级造价工程师】- 环球网校...
  3. 膜拜大佬!Android面试真题解析火爆全网,完整PDF
  4. python循环定义变量_Python 变量循环
  5. Python 定义变量和定义变量名的规则
  6. 一个女孩吃素5年后的大变化
  7. 为什么说 Effie 是适合评论家的创作工具
  8. Effie:资深记者这样写稿!
  9. python安装fitz时出问题,解决方案
  10. 习题4-11 兔子繁衍问题 (详解)(15 分)