English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Node.jsバッファ– Node.jsバッファはクラスであり、8ビットバイトストリームの処理と使用をサポートします。TCPデータストリームやファイルシステム操作の処理中に通常、8ビットバイトストリームが現れます。
Node.js Vにバッファに割り当てられた原始メモリ8スタックメモリの外です。
このチュートリアルでは、以下の方法を学びます。
バッファの生成
データをバッファに書き込みます。
バッファからデータを読み取ります。
Node.jsではバッファの生成方法が多くあります。それらを一つずつ研究します。
指定長さのバッファを生成するには、Buffer.allocUnsafe(int)メソッドを使用してください。
構文
Buffer.allocUnsafe(bufferLength); |
const buf1 = Buffer.allocUnsafe(10);
bufferLengthは整数で、生成するバッファの長さを指定します。
生成されたバッファは初期化されていないため、ゴミ値を含む可能性があります。fill()またはwrite()メソッドを使用してゴミ値をオーバーライドできます。
指定長さのゼロフィルタリングバッファを生成するには、Buffer.alloc(int)メソッドを使用してください。
構文
Buffer.alloc(bufferLength);
const buf1 = Buffer.alloc(10);
bufferLengthは整数で、作成するバッファの長さを指定します。バッファは全てのメモリ位置を0で埋め尽くします。
Buffer.alloc()はBuffer.allocUnsafe()より遅いです。
指定された長さで値を埋めたバッファを作成するために、Buffer.alloc(int,int)メソッドを使用してください。
構文
Buffer.alloc(bufferLength, value);
const buf1 = Buffer.allocUnsafe(10, 3);
bufferLengthは整数で、作成するバッファの長さを指定します。バッファはvalueで埋め尽くされたすべてのメモリ位置を含みます。
Bufferクラスには、さまざまな形式のデータをバッファに書き込む方法が多くあります。このセクションでは、バッファに文字列を書き込む方法を学びます。
文字列をバッファに書き込むために、Buffer.writeメソッドを使用してください。
構文
Buffer.write(string[, offset[, length]][, encoding]);
const buf1 = Buffer.allocUnsafe(100); const len = buf1.write('welcomeuser',2,5,'utf8');
offsetから始まる文字列、指定された長さの文字数が指定されたエンコーディング形式でバッファに書き込まれます。
write()メソッドは、書き込んだバッファのバイト数を返します。
バッファからバイトを読み取るために、Buffer.valuesメソッドを使用してください。
構文
Buffer.values();
bufを生成し、返します。1バイト値のイテレータ。Bufferを使用するfor..of文では、自動的にこの関数が呼び出されます。
const buf1 = Buffer.allocUnsafe(11); const len = buf1.write('welcomeuser'); for(const byt of buf1.values()){ console.log(byt); }
出力結果
$ node read-buffer.js 119 101 108 99 111 109 101 117 115 101 114
このNode.jsチュートリアルで Node.js バッファ内、Node.jsでバッファを生成、書き込む、読み取る方法について学びました。次のチュートリアルでは、バッファに関する面白い操作を学びます。