Node.js 教程

浏览21150
更新时间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中创建,写入和读取缓冲区。在接下来的教程中,我们将学习一些关于缓冲区的有趣操作。

相关视频

更多

免费

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

64.8万次学习

收藏

免费

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

24.6万次学习

收藏

免费

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

41.1万次学习

收藏

免费

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

76.4万次学习

收藏

精品课程

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

共29课时

64.9万人学习

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

共25课时

41.2万人学习

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

共43课时

76.6万人学习

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

共25课时

64.1万人学习

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

共22课时

24.3万人学习

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

共28课时

36.2万人学习

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

共89课时

133.1万人学习

热门下载

更多
phpStudy 2018最新版
phpStudy 2018最新版

集成PHP7,16种组合,超全大合集

下载

VC9 32位
VC9 32位

VC9 32位 phpstudy集成安装环境运行库

下载

VC11 32位
VC11 32位

VC11 32位 phpstudy集成安装环境运行库​

下载

php程序员工具箱完整版
php程序员工具箱完整版

程序员工具箱 v1.0 php集成环境

下载

VC14 32位
VC14 32位

VC14 32位 phpstudy安装环境运行库

下载

SublimeText3汉化版
SublimeText3汉化版

中文版,非常好用

下载

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载