当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js Buffer.copy()用法及代码示例


缓冲区是一种临时存储器,用于在将数据从一个位置移动到另一位置时存储数据。它就像一个整数数组。

Buffer.copy()方法只是将所有值从输入缓冲区复制到另一个缓冲区。

用法:


buffer.copy( target, targetStart, sourceStart, sourceEnd )

参数:该方法接受上述和以下所述的两个参数:

  • target:它是一个缓冲区,您需要在其中复制所有值。
  • targetStart:它指的是目标缓冲区的元素将开始写入的起始索引。其默认值为0。
  • sourceStart:它是输入缓冲区的索引,将从该索引开始复制值。其默认值为0。
  • sourceEnd:输入缓冲区的索引,直到完成值的复制为止。其默认值为buffer.length size。

返回值:此方法返回一个数字,该数字指示复制的字节数。

注意:即使目标内存区域(索引)已经存在,也将从输入缓冲区中复制值并将其覆盖到输出缓冲区中。即使目标存储区与输入缓冲区重叠,也将数据从输入缓冲区的区域复制到目标缓冲区的区域。

以下示例说明了Node.js中Buffer.includes()方法的使用:

范例1:

// Node.js program to demonstrate the   
// Buffer.copy() Method  
      
// Creating a buffer 
var buffer2 = Buffer.from('for'); 
  
var buffer1 = Buffer.from('GeeksandGeeks'); 
  
buffer2.copy(buffer1, 5, 0); 
  
console.log(buffer1.toString());

输出:

GeeksforGeeks

范例2:

// Node.js program to demonstrate the   
// Buffer.copy() Method 
  
var buffer2 = Buffer.allocUnsafe(5); 
  
var buffer1 = Buffer.from('Geeks'); 
  
for (let i = 0; i < 5; i++) { 
   
    // Adds:'a b c d e' as 97 98 99 100 101 
    // are their respective ASCII values 
    buffer2[i] = i + 97; 
} 
  
buffer2.copy(buffer1, 2); 
  
// Prints 'Geabc' as the input buffer1 
// carries 'Geeks' and we provided the 
// targetStart index as 2 
// so elements will replace the values in 
// buffer1 starting from index 2 
  
console.log(buffer1.toString());

输出:

Geabc

注意:上面的程序将通过使用node index.js命令。

参考: https://nodejs.org/api/buffer.html#buffer_buf_copy_target_targetstart_sourcestart_sourceend



相关用法


注:本文由纯净天空筛选整理自Abhishek7大神的英文原创作品 Node.js | Buffer.copy() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。