【Node.js24.x】Object::inflateRaw()メソッドの使い方
inflateRawメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
inflateRawメソッドは、DEFLATEアルゴリズムで圧縮された生データを展開するメソッドです。このメソッドは、Node.js環境において、データ圧縮・展開処理を担う特定のモジュールによって提供されるオブジェクトに属しています。具体的には、zlib形式のヘッダーやフッター(トレーラー)、チェックサムを含まない、純粋なDEFLATE圧縮データストリームを扱うために設計されています。
主に、データがzlib形式ではなく、RFC 1951で定義されているDEFLATE形式そのままの形で圧縮されている場合や、独自のプロトコルで生データを圧縮して転送している状況で利用されます。例えば、HTTP通信においてContent-Encoding: deflateが指定されているものの、実際に送られてくるデータがzlibヘッダーを含まないケースなどで活用されます。
このメソッドを使用することで、入力された圧縮データは元の非圧縮状態に戻され、アプリケーションで利用可能な形になります。通常、非同期的に圧縮データをバッファやストリームとして受け取り、展開されたデータを返却する形で機能します。大量のデータを効率的に処理するために、ストリームAPIと組み合わせて使用されることも一般的です。データサイズの削減やネットワーク転送量の最適化に貢献する、重要なデータ処理機能の一つです。
構文(syntax)
1const zlib = require('node:zlib'); 2 3const compressedData = Buffer.from('...'); // 展開したい圧縮されたデータをBuffer形式で用意します 4 5zlib.inflateRaw(compressedData) 6 .then(decompressedData => { 7 // 展開されたBufferデータはここで利用できます 8 }) 9 .catch(error => { 10 // エラーが発生した場合の処理 11 });
引数(parameters)
buffer, opts, callback
- buffer: Buffer: 圧縮解除するデータを含むBufferオブジェクト
- opts: object: 圧縮解除のオプションを指定するオブジェクト (省略可能)
- callback: function: 圧縮解除処理が完了した際に呼び出されるコールバック関数
戻り値(return)
戻り値なし
戻り値はありません