Node.js Buffer.copy() 方法详解与使用示例

作者:夜航船

时间:2026-10-28

浏览:575

本文介绍Node.js中Buffer.copy()方法的使用,该方法用于在两个Buffer对象之间复制数据。详细解析了targetBuffer、targetStart、sourceStart和sourceEnd四个参数的含义,并通过具体代码示例演示如何从源Buffer指定范围提取数据并覆盖到目标Buffer的指定位置,帮助开发者掌握二进制数据的高效操作。

文章目录

Buffer.copy() 方法概述与语法

方法概述:

该操作旨在实现不同Buffer实例间的数据复制与替换。

具体功能是从源Buffer中提取指定数据,并将其写入到目标Buffer的指定起始位置。

语法定义:

参考代码片段如下:

buffer.copy(targetBuffer, [targetStart], [sourceStart], [sourceEnd])

参数说明:

targetBuffer:指定接收数据的目标Buffer对象。

targetStart:可选参数,指定在目标Buffer中开始写入数据的索引位置,默认为0。

sourceStart:可选参数,指定从源Buffer中开始读取数据的索引位置,默认为0。

sourceEnd:可选参数,指定从源Buffer中结束读取数据的索引位置(不包含该位置),默认为source.length。

Buffer.copy() 参数详解与代码示例

应用示例:

本示例演示如何从buf1中提取索引16至20之间的数据,并将这些数据复制到buf2中,起始写入位置为buf2的索引8处。

具体实现代码如下:

buf1 = new Buffer(26);
buf2 = new Buffer(26);
for (var i = 0 ; i < 26 ; i++) {
buf1[i] = i + 97; // 97 is ASCII a
buf2[i] = 33; // ASCII !
}
buf1.copy(buf2, 8, 16, 20);
console.log(buf2.toString('ascii', 0, 25));

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章