- Node.js教程
- Node.js - 教程
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 首次申请
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调概念
- Node.js - 上传文件
- Node.js - 发送电子邮件
- Node.js - 活动
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 流程
- Node.js - 扩展应用程序
- Node.js - 包装
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲器
- Node.js - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
Node.js - Buffer.write() 方法
NodeJS Buffer.write() 方法会将给定的字符串值从偏移值给定的位置写入缓冲区。如果缓冲区没有足够的空间来容纳字符串值,则将写入字符串的一部分。请注意,它不会负责写入部分编码的字符串值。
语法
以下是Node.JS Buffer.write()方法的语法 -
buf.write(string[, offset[, length]][, encoding])
参数
此方法接受四个参数。下面将对此进行解释。
- string − (必需)要写入缓冲区的字符串值。
- offset − (可选)指示开始写入的位置的偏移量。默认值为 0。
- length - (可选)要写入的字节数。长度不能超过 buffer.length − offset。因此,length 的默认值为 buffer.length − offset。
- encoding − (可选) 用于字符串值的字符编码。默认值为 utf-8。
此方法 Buffer.write() 返回写入缓冲区的字节数。
例在此示例中,将使用 NodeJS Buffer.from() 创建一个缓冲区,然后将字符串值写入创建的缓冲区。
const buffer = Buffer.from('Hello');
buffer.write('World');
console.log("The final buffer is :"+buffer.toString());
输出
我们没有使用任何偏移值,因此默认情况下,它将被视为 0。使用 Hello 字符串创建的缓冲区的长度为 5。因此,当您向其写入 World 时,其长度与缓冲区相同,因此将写入一个完整的字符串。
例
在此示例中,我将使用 Buffer.alloc() 创建一个缓冲区,并为其分配 5 个长度。现在将使用 Buffer.write() 方法使用更大的字符串写入缓冲区。
const buffer = Buffer.alloc(5);
buffer.write('Hello World');
console.log("The final buffer is :"+buffer.toString());
输出
我们没有使用任何偏移值,因此默认情况下,它将被视为 0。创建的缓冲区的长度为 5。由于我们正在编写一个长度为 11 的字符串,因此缓冲区将仅容纳长度 5。因此,当您看到输出时,缓冲区将只写入字符串 Hello,因为它只能采用 5 的长度。
例
在此示例中,我将检查偏移值。将在 Buffer.write() 中指定偏移量,并将字符串值写入创建的缓冲区。
const buffer = Buffer.alloc(5);
buffer.write('Hello World', 3);
console.log("The final buffer is :"+buffer.toString());
输出
使用的偏移量为 3,缓冲区的长度为 5,要写入的字符串的长度为 11。因此,缓冲区将从 3 开始填充,缓冲区长度即 5。所以只有字符 He 会被写入缓冲区。
例
在此示例中,将利用长度和编码使用 Buffer.write() 方法写入 Buffer。
const buffer = Buffer.alloc(10);
buffer.write('Hello World', 3, 5, 'utf-8');
console.log("The final buffer is :"+buffer.toString());
输出
所以偏移量是从 3 开始的,我们要写入的字符串长度是 5。缓冲区的总长度为 10。由于要写入的长度为 5,因此可以写入,因为 buffer.length − offset 为 10 − 3 = 7。因此,它可以轻松地在缓冲区中容纳来自偏移量 3 的长度为 5 的字符串值。