【Node.js24.x】Object::zstdDecompressSync()メソッドの使い方
zstdDecompressSyncメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
zstdDecompressSyncメソッドは、Zstandard (zstd) 形式で圧縮されたデータを同期的に解凍する機能を提供するメソッドです。このメソッドは、Node.jsのモジュールを通じて提供され、特定のオブジェクトのメソッドとして利用されます。具体的には、圧縮されたデータを保持するBufferオブジェクトなどを入力として受け取り、解凍されたデータもBufferオブジェクトとして返します。
この処理は同期的に実行されるため、解凍が完了するまでプログラムのメインスレッドはブロックされます。これにより、処理結果をすぐに利用できる利点がありますが、非常に大きなデータを扱う場合や、アプリケーションの応答性が求められる場面では、パフォーマンスへの影響を考慮する必要があります。
zstdDecompressSyncメソッドは、ファイルから読み込んだ圧縮済み設定ファイルの展開や、ネットワークから受信した小さな圧縮データの即時処理など、メインスレッドのブロックが許容される用途に適しています。解凍処理中にエラーが発生した場合は、即座に例外がスローされるため、エラーハンドリングの実装が重要です。
構文(syntax)
1import { zstdDecompressSync } from 'node:zlib'; 2import { Buffer } from 'node:buffer'; 3 4const compressedZstdBuffer = Buffer.from('28B52FFD04000000000000', 'hex'); 5const decompressedBuffer = zstdDecompressSync(compressedZstdBuffer);
引数(parameters)
buffer, options = {}
- buffer: Buffer: 圧縮されたZstandardデータを含むBufferオブジェクト
- options: object = {}: 圧縮解除の挙動を制御するオプションオブジェクト。以下のプロパティを指定できます。
- {number} chunkSize: チャンク処理のサイズ。デフォルトは 128KB。
- {number} outputBuffer: 事前に確保された出力Buffer。指定がない場合は自動的に確保されます。
戻り値(return)
Buffer
zstdDecompressSync メソッドは、zstd 圧縮されたデータを非同期で展開した結果を Buffer オブジェクトとして返します。