情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

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>

関連

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-Node.js