Node.jsでバッファをコピーする
バッファのデータをコピー先のバッファにコピーするにはbuf.copy
関数を使用します。
var bytes = buf.copy(buf2, 0, 0, buf.length);
第1引数にコピー先のバッファを指定します。
第2引数にコピー先のバッファのコピーの開始インデックスを指定します。この引数は指定しなくても構いません。デフォルトは0
です。
第3引数にコピー元のバッファのコピーの開始インデックスを指定します。この引数は指定しなくても構いません。デフォルトは0
です。
第4引数にコピー元のバッファのコピーの終了インデックスを指定します。この引数は指定しなくても構いません。デフォルトはコピー元のバッファの長さです。
返り値としてコピーしたバイト数が得られます。
サンプルコード1
buffer-copy.js
var buf1 = Buffer.from([0, 1, 2, 3]);
var buf2 = Buffer.from([0, 1, 1, 1]);
var buf3 = Buffer.from([3, 2, 1, 0]);
console.log(buf1);
console.log(buf2);
console.log(buf3);
console.log(buf1.copy(buf2, 2, 2, 4));
console.log(buf1.copy(buf3, 0, 2, 4));
console.log(buf1);
console.log(buf2);
console.log(buf3);
console.log(buf1.copy(buf1, 1, 0, 2));
console.log(buf1);
実行結果
C:\work\node>node buffer-copy.js
<Buffer 00 01 02 03>
<Buffer 00 01 01 01>
<Buffer 03 02 01 00>
2
2
<Buffer 00 01 02 03>
<Buffer 00 01 02 03>
<Buffer 02 03 01 00>
2
<Buffer 00 00 01 03>
関連

スポンサーリンク