Buffer(缓冲区)

收藏443

阅读7465

更新时间2025-08-28

Node.js缓冲区

Node.js缓冲区– Node.js缓冲区是一个类,可帮助处理和使用八位位组流。在处理TCP数据流和文件系统操作时,通常会出现八位字节流。

分配给缓冲区的原始内存在Node.js V8堆内存之外。

在本教程中,我们将学习如何

  • 创建缓冲区

  • 将数据写入缓冲区

  • 从缓冲区读取数据。

Node.js –创建缓冲区

在Node.js中创建缓冲区的方法有很多种。我们将一个一个地研究它们。

指定长度的缓冲区

要创建指定长度的缓冲区,请使用Buffer。allocUnsafe(int)方法。

语法

Buffer.allocUnsafe(bufferLength);
const buf1 = Buffer.allocUnsafe(10);

bufferLength是一个整数,指定要创建的缓冲区的长度。

创建的缓冲区未初始化,这意味着它可以包含垃圾值。您可以使用fill()或write()方法覆盖垃圾值。

指定长度的零填充缓冲区

若要创建指定长度的零填充缓冲区,请使用Buffer.alloc(int)方法。语法

Buffer.alloc(bufferLength);
const buf1 = Buffer.alloc(10);

 bufferLength是一个整数,指定要创建的缓冲区的长度。缓冲区包含用零填充的所有内存位置。

Buffer.alloc()比 Buffer.allocUnsafe()慢。

指定长度的缓冲区,填充有指定值

若要创建指定长度并填充有指定值的缓冲区,请使用Buffer.alloc(int,int)方法。语法Buffer.alloc(bufferLength, value); 

  const buf1 = Buffer.allocUnsafe(10, 3);

 bufferLength是一个整数,指定要创建的缓冲区的长度。缓冲区包含用value填充的所有内存位置。

Node.js –写入缓冲区

Buffer类有很多方法可以将不同格式的数据写入缓冲区。在本节中,我们将学习编写一个字符串以缓冲。若要将字符串写入缓冲区,请使用Buffer.write方法。语法

Buffer.write(string[, offset[, length]][, encoding]);
  const buf1 = Buffer.allocUnsafe(100);
 
  const len = buf1.write('welcomeuser',2,5,'utf8');

从offset开始的字符串,按长度提供的字符数将以指定的编码格式写入缓冲区。

write()方法返回写入缓冲区的字节数。

Node.js – 从缓冲区读取

要从缓冲区读取字节,请使用Buffer.values方法。语法

Buffer.values();

创建并返回buf1值(字节)的迭代器。在for..of语句中使用Buffer时,将自动调用此函数。

  const buf1 = Buffer.allocUnsafe(11);
 
  const len = buf1.write('welcomeuser');
 
  for(const byt of buf1.values()){
    console.log(byt);
  }

输出结果

$ node read-buffer.js  
119
101
108
99
111
109
101
117
115
101
114

结论:

在本Node.js教程– Node.js缓冲区中,我们学习了如何在Node.js中创建,写入和读取缓冲区。在接下来的教程中,我们将学习一些关于缓冲区的有趣操作。

相关

视频

RELATED VIDEOS

更多

免费

Web前端开发极速入门
初级 Web前端开发极速入门

219920次学习

收藏

免费

前端入门_HTML5
初级 前端入门_HTML5

616946次学习

收藏

免费

30分钟学会网站布局
初级 30分钟学会网站布局

238440次学习

收藏

免费

CSS视频教程-玉女心经版
初级 CSS视频教程-玉女心经版

393054次学习

收藏

免费

独孤九贱(1)_HTML5视频教程

免费

独孤九贱(6)_jQuery视频教程

免费

独孤九贱(7)_Bootstrap视频教程

免费

独孤九贱(2)_CSS视频教程
初级 独孤九贱(2)_CSS视频教程

229605次学习

收藏

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

71万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号