モジュール基本モジュール

モジュールzlib

zlib は、gzip、deflate、zlib などの複数の圧縮形式とモードをサポートする組み込みの圧縮モジュールです。

zlibは主に以下の3つの機能で構成されています。

  • deflate: 圧縮データ。
  • inflate: データを解凍します。
  • gzip: gzip 圧縮形式。

zlib を使用する前に、使用する必要がある圧縮アルゴリズムに応じていずれかを選択する必要があります。 zlib の定数を参照して、対応する圧縮アルゴリズムを選択できます。たとえば、モジュールの記述には deflate 圧縮アルゴリズムを使用します。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
const zlib = require('zlib'); const { NO_COMPRESSION, BEST_SPEED, BEST_COMPRESSION, DEFAULT_COMPRESSION } = require('zlib'); // compress data const deflated = zlib.deflate('hello, world', BEST_SPEED); console.log(deflated.toString()); // decompress data const inflated = zlib.inflate(deflated); console.log(inflated.toString());

上記のコードは、データを圧縮および解凍する方法を示しています。まず、文字列zlib.deflateを圧縮するメソッドを使用し、圧縮レベル オプションとしてhello, world渡します。次に、データを解凍するメソッドを使用します。出力結果は、元の文字列と同じになるはずです。 。BEST_SPEEDzlib.inflate

zlib.deflateおよびzlib.inflate両方とも、圧縮レベルの定義をサポートしています。圧縮レベルは、値の範囲が の数値です[NO_COMPRESSION, BEST_SPEED, DEFAULT_COMPRESSION, BEST_COMPRESSION]。デフォルト値は ですDEFAULT_COMPRESSION。これら 4 つの圧縮レベルの意味については、次の表を参照してください。

圧縮レベル 意味
zlib.NO_COMPRESSION 非圧縮データ (圧縮ヘッダー補完のサポートあり)
zlib.BEST_SPEED 圧縮速度は最も速いですが、それに応じて圧縮率も低くなります。
zlib.DEFAULT_COMPRESSION 圧縮アルゴリズムのデフォルト値によると、通常は BEST_SPEED よりも遅くなりますが、圧縮率は高くなります。
zlib.BEST_COMPRESSION 圧縮率は最も高くなりますが、それに応じて圧縮速度は遅くなります。

このモジュールを使用するzlibときに注意する必要があるのは、データの圧縮と解凍を同時に行う場合は、エラーを避けるために、deflate最初にデータの圧縮に使用し、次にinflateデータの解凍に使用することをお勧めします。圧縮形式やアルゴリズムの違いについては、圧縮・解凍用のクラスやメソッドが他にもありますので、以下のドキュメントを参照してご利用ください。

静的関数

createDeflate

deflateストリームオブジェクトを作成する

1
static Stream zlib.createDeflate(Stream to);

呼び出しパラメータ:

  • to:Stream、処理結果を保存するために使用されるストリーム

返される結果:

  • Stream、カプセル化されたストリーム オブジェクトを返します。

createDeflateRaw

deflateRaw ストリーム オブジェクトを作成する

1
static Stream zlib.createDeflateRaw(Stream to);

呼び出しパラメータ:

  • to:Stream、処理結果を保存するために使用されるストリーム

返される結果:

  • Stream、カプセル化されたストリーム オブジェクトを返します。

createGunzip

Gunzip ストリーム オブジェクトを作成する

1 2
static Stream zlib.createGunzip(Stream to, Integer maxSize = -1);

呼び出しパラメータ:

  • to:Stream、処理結果を保存するために使用されるストリーム
  • maxSize: 整数。解凍サイズの制限を指定します。デフォルトは -1、制限なしです。

返される結果:

  • Stream、カプセル化されたストリーム オブジェクトを返します。

createGzip

gzipストリームオブジェクトを作成する

1
static Stream zlib.createGzip(Stream to);

呼び出しパラメータ:

  • to:Stream、処理結果を保存するために使用されるストリーム

返される結果:

  • Stream、カプセル化されたストリーム オブジェクトを返します。

createInflate

インフレートストリームオブジェクトを作成する

1 2
static Stream zlib.createInflate(Stream to, Integer maxSize = -1);

呼び出しパラメータ:

  • to:Stream、処理結果を保存するために使用されるストリーム
  • maxSize: 整数。解凍サイズの制限を指定します。デフォルトは -1、制限なしです。

返される結果:

  • Stream、カプセル化されたストリーム オブジェクトを返します。

createInflateRaw

inflateRaw ストリーム オブジェクトを作成する

1 2
static Stream zlib.createInflateRaw(Stream to, Integer maxSize = -1);

呼び出しパラメータ:

  • to:Stream、処理結果を保存するために使用されるストリーム
  • maxSize: 整数。解凍サイズの制限を指定します。デフォルトは -1、制限なしです。

返される結果:

  • Stream、カプセル化されたストリーム オブジェクトを返します。

deflate

deflate アルゴリズムを使用してデータを圧縮します (zlib 形式)

1 2
static Buffer zlib.deflate(Buffer data, Integer level = DEFAULT_COMPRESSION) async;

呼び出しパラメータ:

  • data:Buffer、圧縮されるデータが与えられた場合
  • level: 整数。圧縮レベルを指定します。デフォルトは DEFAULT_COMPRESSION です。

返される結果:

  • Buffer、圧縮されたバイナリデータを返します

deflateTo

deflate アルゴリズムを使用してデータをストリーム オブジェクト (zlib 形式) に圧縮します

1 2 3
static zlib.deflateTo(Buffer data, Stream stm, Integer level = DEFAULT_COMPRESSION) async;

呼び出しパラメータ:

  • data:Buffer、圧縮されるデータが与えられた場合
  • stm:Stream、圧縮データを保存するストリームを指定します
  • level: 整数。圧縮レベルを指定します。デフォルトは DEFAULT_COMPRESSION です。

deflate アルゴリズムを使用して、ソース ストリーム内のデータをストリーム オブジェクト (zlib 形式) に圧縮します。

1 2 3
static zlib.deflateTo(Stream src, Stream stm, Integer level = DEFAULT_COMPRESSION) async;

呼び出しパラメータ:

  • src:Stream、圧縮されるデータが配置されているストリームを考慮すると、
  • stm:Stream、圧縮データを保存するストリームを指定します
  • level: 整数。圧縮レベルを指定します。デフォルトは DEFAULT_COMPRESSION です。

inflate

deflateアルゴリズムで圧縮されたデータを解凍(zlib形式)

1 2
static Buffer zlib.inflate(Buffer data, Integer maxSize = -1) async;

呼び出しパラメータ:

  • data:Buffer、圧縮データが与えられた場合
  • maxSize: 整数。解凍サイズの制限を指定します。デフォルトは -1、制限なしです。

返される結果:

  • Buffer、解凍されたバイナリデータを返します。

inflateTo

deflateアルゴリズムで圧縮されたデータをストリームオブジェクト(zlib形式)に解凍します。

1 2 3
static zlib.inflateTo(Buffer data, Stream stm, Integer maxSize = -1) async;

呼び出しパラメータ:

  • data:Buffer、解凍するデータが与えられた場合
  • stm:Stream、解凍されたデータを保存するストリームを指定します
  • maxSize: 整数。解凍サイズの制限を指定します。デフォルトは -1、制限なしです。

ソースストリーム内のdeflateアルゴリズムで圧縮されたデータをストリームオブジェクト(zlib形式)に解凍します。

1 2 3
static zlib.inflateTo(Stream src, Stream stm, Integer maxSize = -1) async;

呼び出しパラメータ:

  • src:Stream、解凍対象のデータが配置されているストリームを考慮すると、
  • stm:Stream、解凍されたデータを保存するストリームを指定します
  • maxSize: 整数。解凍サイズの制限を指定します。デフォルトは -1、制限なしです。

gzip

gzip アルゴリズムを使用してデータを圧縮する

1
static Buffer zlib.gzip(Buffer data) async;

呼び出しパラメータ:

  • data:Buffer、圧縮されるデータが与えられた場合

返される結果:

  • Buffer、圧縮されたバイナリデータを返します

gzipTo

gzip アルゴリズムを使用してデータをストリーム オブジェクトに圧縮する

1 2
static zlib.gzipTo(Buffer data, Stream stm) async;

呼び出しパラメータ:

  • data:Buffer、圧縮されるデータが与えられた場合
  • stm:Stream、圧縮データを保存するストリームを指定します

gzip アルゴリズムを使用して、ソース ストリーム内のデータをストリーム オブジェクトに圧縮します。

1 2
static zlib.gzipTo(Stream src, Stream stm) async;

呼び出しパラメータ:

  • src:Stream、圧縮されるデータが配置されているストリームを考慮すると、
  • stm:Stream、圧縮データを保存するストリームを指定します

gunzip

gzipアルゴリズムで圧縮されたデータを解凍します。

1 2
static Buffer zlib.gunzip(Buffer data, Integer maxSize = -1) async;

呼び出しパラメータ:

  • data:Buffer、圧縮データが与えられた場合
  • maxSize: 整数。解凍サイズの制限を指定します。デフォルトは -1、制限なしです。

返される結果:

  • Buffer、解凍されたバイナリデータを返します。

gunzipTo

gzip アルゴリズムで圧縮されたデータをストリーム オブジェクトに解凍します。

1 2 3
static zlib.gunzipTo(Buffer data, Stream stm, Integer maxSize = -1) async;

呼び出しパラメータ:

  • data:Buffer、解凍するデータが与えられた場合
  • stm:Stream、解凍されたデータを保存するストリームを指定します
  • maxSize: 整数。解凍サイズの制限を指定します。デフォルトは -1、制限なしです。

ソース ストリーム内の gzip アルゴリズム圧縮データをストリーム オブジェクトに解凍します。

1 2 3
static zlib.gunzipTo(Stream src, Stream stm, Integer maxSize = -1) async;

呼び出しパラメータ:

  • src:Stream、解凍対象のデータが配置されているストリームを考慮すると、
  • stm:Stream、解凍されたデータを保存するストリームを指定します
  • maxSize: 整数。解凍サイズの制限を指定します。デフォルトは -1、制限なしです。

deflateRaw

deflate アルゴリズム (deflateRaw) を使用してデータを圧縮する

1 2
static Buffer zlib.deflateRaw(Buffer data, Integer level = DEFAULT_COMPRESSION) async;

呼び出しパラメータ:

  • data:Buffer、圧縮されるデータが与えられた場合
  • level: 整数。圧縮レベルを指定します。デフォルトは DEFAULT_COMPRESSION です。

返される結果:

  • Buffer、圧縮されたバイナリデータを返します

deflateRawTo

deflate アルゴリズムを使用してデータをストリーム オブジェクトに圧縮する (deflateRaw)

1 2 3
static zlib.deflateRawTo(Buffer data, Stream stm, Integer level = DEFAULT_COMPRESSION) async;

呼び出しパラメータ:

  • data:Buffer、圧縮されるデータが与えられた場合
  • stm:Stream、圧縮データを保存するストリームを指定します
  • level: 整数。圧縮レベルを指定します。デフォルトは DEFAULT_COMPRESSION です。

deflate アルゴリズムを使用して、ソース ストリーム内のデータをストリーム オブジェクト (deflateRaw) に圧縮します。

1 2 3
static zlib.deflateRawTo(Stream src, Stream stm, Integer level = DEFAULT_COMPRESSION) async;

呼び出しパラメータ:

  • src:Stream、圧縮されるデータが配置されているストリームを考慮すると、
  • stm:Stream、圧縮データを保存するストリームを指定します
  • level: 整数。圧縮レベルを指定します。デフォルトは DEFAULT_COMPRESSION です。

inflateRaw

deflateアルゴリズムで圧縮されたデータを解凍(inflateRaw)

1 2
static Buffer zlib.inflateRaw(Buffer data, Integer maxSize = -1) async;

呼び出しパラメータ:

  • data:Buffer、圧縮データが与えられた場合
  • maxSize: 整数。解凍サイズの制限を指定します。デフォルトは -1、制限なしです。

返される結果:

  • Buffer、解凍されたバイナリデータを返します。

inflateRawTo

deflateアルゴリズムで圧縮されたデータをストリームオブジェクト(inflateRaw)に解凍します。

1 2 3
static zlib.inflateRawTo(Buffer data, Stream stm, Integer maxSize = -1) async;

呼び出しパラメータ:

  • data:Buffer、解凍するデータが与えられた場合
  • stm:Stream、解凍されたデータを保存するストリームを指定します
  • maxSize: 整数。解凍サイズの制限を指定します。デフォルトは -1、制限なしです。

ソースストリーム内のdeflateアルゴリズムによって圧縮されたデータをストリームオブジェクト(inflateRaw)に解凍します。

1 2 3
static zlib.inflateRawTo(Stream src, Stream stm, Integer maxSize = -1) async;

呼び出しパラメータ:

  • src:Stream、解凍対象のデータが配置されているストリームを考慮すると、
  • stm:Stream、解凍されたデータを保存するストリームを指定します
  • maxSize: 整数。解凍サイズの制限を指定します。デフォルトは -1、制限なしです。

絶え間ない

NO_COMPRESSION

deflate 圧縮レベル、圧縮を設定しない

1
const zlib.NO_COMPRESSION = 0;

BEST_SPEED

deflate 圧縮レベル、最速の圧縮を設定します

1
const zlib.BEST_SPEED = 1;

BEST_COMPRESSION

deflate 圧縮レベル、最高の圧縮を設定します

1
const zlib.BEST_COMPRESSION = 9;

DEFAULT_COMPRESSION

deflate 圧縮レベル、デフォルト設定を設定する

1
const zlib.DEFAULT_COMPRESSION = -1;