Buffer は、Node が生のバイナリデータを扱う手段であり、V8 ヒープの外に格納される固定長のバイト列です。JavaScript の文字列はテキスト(Unicode)のためのものなので、Buffer はバイナリ — ファイルの内容、ネットワークパケット、画像、暗号化など — を扱うために存在します。
Buffer が存在する理由
text
JavaScript の文字列 → テキスト (UTF-16)。任意のバイトをきれいに表現できない。
Buffer → 生のバイト(各 0〜255)。テキストではないバイナリデータのため。
ファイルを読み取ったりネットワークデータを受信したりすると、それはバイト — Buffer — として到着します。テキストであれば文字列にデコードでき、そうでなければバイナリとして処理できます。
Buffer の作成と利用
js
buf = .();
buf2 = .([, ]);
buf3 = .();
buf.;
buf.();
buf.();
buf.();
buf[];
