English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Node.js буфер– Node.js буфер – это класс, который помогает обрабатывать и использовать потоки байт. При обработке потоков данных TCP и операций с файловой системой часто встречаются потоки байт.
Оригинальная память, выделенная для буфера, находится за пределами памяти стека V8 в Node.js.
В этом руководстве мы будем изучать, как
Создание буфера
Запись данных в буфер
Чтение данных из буфера
В Node.js есть множество способов создания буферов. Мы будем исследовать их по одному.
Чтобы создать буфер заданной длины, используйте метод Buffer.allocUnsafe(int).
语法
Buffer.allocUnsafe(bufferLength); |
const buf1 = Buffer.allocUnsafe(10);
bufferLength - это целое число,指定ating длина буфера, который нужно создать.
Созданный буфер не инициализирован, что означает, что он может содержать мусорные значения. Вы можете использовать метод fill() или write(), чтобы заменить мусорные значения.
Чтобы создать буфер заданной длины с нулевым заполнением, используйте метод Buffer.alloc(int).
语法
Buffer.alloc(bufferLength);
const buf1 = Buffer.alloc(10);
bufferLength - это целое число,指定ating длина буфера, который нужно создать. Буфер содержит все адреса памяти, заполненные нулями.
Buffer.alloc() медленнее, чем Buffer.allocUnsafe().
Чтобы создать буфер заданной длины и заполнить его заданным значением, используйте метод Buffer.alloc(int, int).
语法
Buffer.alloc(bufferLength, value);
const buf1 = Buffer.allocUnsafe(10, 3);
bufferLength是一个整数,指定要创建的缓冲区的长度。缓冲区包含用value填充的所有内存位置。
Buffer类有很多方法可以将不同格式的数据写入缓冲区。在本节中,我们将学习编写一个字符串以缓冲。
若要将字符串写入缓冲区,请使用Buffer.write方法。
语法
Buffer.write(string[, offset[, length]][, encoding]);
const buf1 = Buffer.allocUnsafe(100); const len = buf1.write('welcomeuser', 2, 5, 'utf8');
从offset开始的字符串,按长度提供的字符数将以指定的编码格式写入缓冲区。
write()方法返回写入缓冲区的字节数。
要从缓冲区读取字节,请使用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中创建、写入和读取缓冲区。在接下来的教程中,我们将学习一些关于缓冲区的有趣操作。