Modul Grundmodul

Modul zlib

zlib ist ein integriertes Komprimierungsmodul, das mehrere Komprimierungsformate und -modi wie gzip, deflate und zlib unterstützt.

zlib besteht hauptsächlich aus den folgenden drei Funktionen:

  • deflate: komprimierte Daten;
  • aufblasen: Daten dekomprimieren;
  • gzip: gzip-Komprimierungsformat.

Bevor Sie zlib verwenden, müssen Sie eine davon entsprechend dem Komprimierungsalgorithmus auswählen, den Sie verwenden müssen. Sie können auf die Konstanten von zlib zurückgreifen, um den entsprechenden Komprimierungsalgorithmus auszuwählen. Zum Beispiel verwenden wir den Deflate-Komprimierungsalgorithmus für die Modulbeschreibung:

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());

Der obige Code zeigt, wie Daten komprimiert und dekomprimiert werden. Verwenden Sie zuerst die Methode, um die Zeichenfolge zlib.deflatezu komprimieren , und übergeben Sie sie als Option für die Komprimierungsstufe. Anschließend dekomprimieren Sie die Daten mit der Methode. Das Ausgabeergebnis sollte mit der ursprünglichen Zeichenfolge identisch sein .hello, worldBEST_SPEEDzlib.inflate

zlib.deflateund zlib.inflatebeide unterstützen die Definition der Komprimierungsstufe. Die Komprimierungsstufe ist eine Zahl mit einem Wertebereich von [NO_COMPRESSION, BEST_SPEED, DEFAULT_COMPRESSION, BEST_COMPRESSION]. Der Standardwert ist DEFAULT_COMPRESSION. Die Bedeutung dieser vier Komprimierungsstufen können Sie der folgenden Tabelle entnehmen:

Komprimierungsstufe Bedeutung
zlib.NO_COMPRESSION Unkomprimierte Daten (mit Unterstützung für die Vervollständigung des Komprimierungsheaders)
zlib.BEST_SPEED Die schnellste Komprimierungsgeschwindigkeit; das Komprimierungsverhältnis ist jedoch entsprechend schlechter.
zlib.DEFAULT_COMPRESSION Gemäß dem Standardwert des Komprimierungsalgorithmus ist er normalerweise langsamer als BEST_SPEED, weist jedoch eine höhere Komprimierungsrate auf.
zlib.BEST_COMPRESSION Höchste Komprimierungsrate, aber entsprechend langsamere Komprimierungsgeschwindigkeit.

Bei der Verwendung des Moduls ist zlibzu beachten, dass, wenn Sie Daten gleichzeitig komprimieren und dekomprimieren möchten, empfohlen wird, es deflatezuerst zum Komprimieren der Daten und dann inflatezum Dekomprimieren der Daten zu verwenden, um Fehler zu vermeiden. Für verschiedene Komprimierungsformate und -algorithmen gibt es andere Klassen und Methoden zur Komprimierung und Dekomprimierung. Zur Verwendung können Sie auf die folgenden Dokumente verweisen.

statische Funktion

createDeflate

Erstellen Sie ein Deflate-Stream-Objekt

1
static Stream zlib.createDeflate(Stream to);

Aufrufparameter:

  • to:Stream, ein Stream, der zum Speichern von Verarbeitungsergebnissen verwendet wird

Rückgabeergebnisse:

  • Stream, gibt das gekapselte Stream-Objekt zurück

createDeflateRaw

Erstellen Sie ein deflateRaw-Stream-Objekt

1
static Stream zlib.createDeflateRaw(Stream to);

Aufrufparameter:

  • to:Stream, ein Stream, der zum Speichern von Verarbeitungsergebnissen verwendet wird

Rückgabeergebnisse:

  • Stream, gibt das gekapselte Stream-Objekt zurück

createGunzip

Erstellen Sie ein Gunzip-Stream-Objekt

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

Aufrufparameter:

  • to:Stream, ein Stream, der zum Speichern von Verarbeitungsergebnissen verwendet wird
  • maxSize: Ganzzahl, gibt die Dekomprimierungsgrößenbeschränkung an, der Standardwert ist -1, keine Begrenzung

Rückgabeergebnisse:

  • Stream, gibt das gekapselte Stream-Objekt zurück

createGzip

Erstellen Sie ein gzip-Stream-Objekt

1
static Stream zlib.createGzip(Stream to);

Aufrufparameter:

  • to:Stream, ein Stream, der zum Speichern von Verarbeitungsergebnissen verwendet wird

Rückgabeergebnisse:

  • Stream, gibt das gekapselte Stream-Objekt zurück

createInflate

Erstellen Sie ein Inflate-Stream-Objekt

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

Aufrufparameter:

  • to:Stream, ein Stream, der zum Speichern von Verarbeitungsergebnissen verwendet wird
  • maxSize: Ganzzahl, gibt die Dekomprimierungsgrößenbeschränkung an, der Standardwert ist -1, keine Begrenzung

Rückgabeergebnisse:

  • Stream, gibt das gekapselte Stream-Objekt zurück

createInflateRaw

Erstellen Sie ein inflateRaw-Stream-Objekt

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

Aufrufparameter:

  • to:Stream, ein Stream, der zum Speichern von Verarbeitungsergebnissen verwendet wird
  • maxSize: Ganzzahl, gibt die Dekomprimierungsgrößenbeschränkung an, der Standardwert ist -1, keine Begrenzung

Rückgabeergebnisse:

  • Stream, gibt das gekapselte Stream-Objekt zurück

deflate

Verwenden Sie den Deflate-Algorithmus, um Daten zu komprimieren (zlib-Format).

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

Aufrufparameter:

  • data:Buffer, angesichts der zu komprimierenden Daten
  • level: Ganzzahl, gibt die Komprimierungsstufe an, der Standardwert ist DEFAULT_COMPRESSION

Rückgabeergebnisse:

  • Buffer, gibt komprimierte Binärdaten zurück

deflateTo

Verwenden Sie den Deflate-Algorithmus, um Daten in Stream-Objekte zu komprimieren (zlib-Format).

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

Aufrufparameter:

  • data:Buffer, angesichts der zu komprimierenden Daten
  • stm:Stream, gibt den Stream zum Speichern komprimierter Daten an
  • level: Ganzzahl, gibt die Komprimierungsstufe an, der Standardwert ist DEFAULT_COMPRESSION

Verwenden Sie den Deflate-Algorithmus, um Daten im Quellstream in ein Stream-Objekt (zlib-Format) zu komprimieren.

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

Aufrufparameter:

  • src:Stream, angesichts des Streams, in dem sich die zu komprimierenden Daten befinden
  • stm:Stream, gibt den Stream zum Speichern komprimierter Daten an
  • level: Ganzzahl, gibt die Komprimierungsstufe an, der Standardwert ist DEFAULT_COMPRESSION

inflate

Dekomprimieren Sie durch den Deflate-Algorithmus komprimierte Daten (zlib-Format).

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

Aufrufparameter:

  • data:Buffer, angesichts der komprimierten Daten
  • maxSize: Ganzzahl, gibt die Dekomprimierungsgrößenbeschränkung an, der Standardwert ist -1, keine Begrenzung

Rückgabeergebnisse:

  • Buffer, gibt die dekomprimierten Binärdaten zurück

inflateTo

Dekomprimieren Sie vom Deflate-Algorithmus komprimierte Daten in ein Stream-Objekt (zlib-Format).

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

Aufrufparameter:

  • data:Buffer, angesichts der zu dekomprimierenden Daten
  • stm:StreamGeben Sie den Stream zum Speichern dekomprimierter Daten an
  • maxSize: Ganzzahl, gibt die Dekomprimierungsgrößenbeschränkung an, der Standardwert ist -1, keine Begrenzung

Dekomprimieren Sie die vom Deflate-Algorithmus komprimierten Daten im Quellstream in ein Stream-Objekt (zlib-Format).

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

Aufrufparameter:

  • src:Stream, angesichts des Streams, in dem sich die zu dekomprimierenden Daten befinden
  • stm:StreamGeben Sie den Stream zum Speichern dekomprimierter Daten an
  • maxSize: Ganzzahl, gibt die Dekomprimierungsgrößenbeschränkung an, der Standardwert ist -1, keine Begrenzung

gzip

Komprimieren Sie Daten mit dem GZIP-Algorithmus

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

Aufrufparameter:

  • data:Buffer, angesichts der zu komprimierenden Daten

Rückgabeergebnisse:

  • Buffer, gibt komprimierte Binärdaten zurück

gzipTo

Verwenden Sie den gzip-Algorithmus, um Daten in ein Stream-Objekt zu komprimieren

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

Aufrufparameter:

  • data:Buffer, angesichts der zu komprimierenden Daten
  • stm:Stream, gibt den Stream zum Speichern komprimierter Daten an

Verwenden Sie den gzip-Algorithmus, um die Daten im Quellstream in ein Stream-Objekt zu komprimieren.

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

Aufrufparameter:

  • src:Stream, angesichts des Streams, in dem sich die zu komprimierenden Daten befinden
  • stm:Stream, gibt den Stream zum Speichern komprimierter Daten an

gunzip

Dekomprimieren Sie die vom gzip-Algorithmus komprimierten Daten

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

Aufrufparameter:

  • data:Buffer, angesichts der komprimierten Daten
  • maxSize: Ganzzahl, gibt die Dekomprimierungsgrößenbeschränkung an, der Standardwert ist -1, keine Begrenzung

Rückgabeergebnisse:

  • Buffer, gibt die dekomprimierten Binärdaten zurück

gunzipTo

Dekomprimieren Sie mit dem GZIP-Algorithmus komprimierte Daten in ein Stream-Objekt

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

Aufrufparameter:

  • data:Buffer, angesichts der zu dekomprimierenden Daten
  • stm:StreamGeben Sie den Stream zum Speichern dekomprimierter Daten an
  • maxSize: Ganzzahl, gibt die Dekomprimierungsgrößenbeschränkung an, der Standardwert ist -1, keine Begrenzung

Dekomprimieren Sie die mit dem GZIP-Algorithmus komprimierten Daten im Quellstream in ein Stream-Objekt

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

Aufrufparameter:

  • src:Stream, angesichts des Streams, in dem sich die zu dekomprimierenden Daten befinden
  • stm:StreamGeben Sie den Stream zum Speichern dekomprimierter Daten an
  • maxSize: Ganzzahl, gibt die Dekomprimierungsgrößenbeschränkung an, der Standardwert ist -1, keine Begrenzung

deflateRaw

Komprimieren Sie Daten mit dem Deflate-Algorithmus (deflateRaw).

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

Aufrufparameter:

  • data:Buffer, angesichts der zu komprimierenden Daten
  • level: Ganzzahl, gibt die Komprimierungsstufe an, der Standardwert ist DEFAULT_COMPRESSION

Rückgabeergebnisse:

  • Buffer, gibt komprimierte Binärdaten zurück

deflateRawTo

Verwenden Sie den Deflate-Algorithmus, um Daten in Stream-Objekte zu komprimieren (deflateRaw).

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

Aufrufparameter:

  • data:Buffer, angesichts der zu komprimierenden Daten
  • stm:Stream, gibt den Stream zum Speichern komprimierter Daten an
  • level: Ganzzahl, gibt die Komprimierungsstufe an, der Standardwert ist DEFAULT_COMPRESSION

Verwenden Sie den Deflate-Algorithmus, um Daten im Quellstream in ein Stream-Objekt zu komprimieren (deflateRaw).

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

Aufrufparameter:

  • src:Stream, angesichts des Streams, in dem sich die zu komprimierenden Daten befinden
  • stm:Stream, gibt den Stream zum Speichern komprimierter Daten an
  • level: Ganzzahl, gibt die Komprimierungsstufe an, der Standardwert ist DEFAULT_COMPRESSION

inflateRaw

Dekomprimieren Sie durch den Deflate-Algorithmus komprimierte Daten (inflateRaw).

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

Aufrufparameter:

  • data:Buffer, angesichts der komprimierten Daten
  • maxSize: Ganzzahl, gibt die Dekomprimierungsgrößenbeschränkung an, der Standardwert ist -1, keine Begrenzung

Rückgabeergebnisse:

  • Buffer, gibt die dekomprimierten Binärdaten zurück

inflateRawTo

Dekomprimieren Sie vom Deflate-Algorithmus komprimierte Daten in ein Stream-Objekt (inflateRaw).

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

Aufrufparameter:

  • data:Buffer, angesichts der zu dekomprimierenden Daten
  • stm:StreamGeben Sie den Stream zum Speichern dekomprimierter Daten an
  • maxSize: Ganzzahl, gibt die Dekomprimierungsgrößenbeschränkung an, der Standardwert ist -1, keine Begrenzung

Dekomprimieren Sie durch den Deflate-Algorithmus komprimierte Daten im Quellstream in ein Stream-Objekt (inflateRaw).

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

Aufrufparameter:

  • src:Stream, angesichts des Streams, in dem sich die zu dekomprimierenden Daten befinden
  • stm:StreamGeben Sie den Stream zum Speichern dekomprimierter Daten an
  • maxSize: Ganzzahl, gibt die Dekomprimierungsgrößenbeschränkung an, der Standardwert ist -1, keine Begrenzung

Konstante

NO_COMPRESSION

Kompressionsstufe verringern, keine Kompression einstellen

1
const zlib.NO_COMPRESSION = 0;

BEST_SPEED

Komprimierungsstufe verringern, schnellste Komprimierung einstellen

1
const zlib.BEST_SPEED = 1;

BEST_COMPRESSION

Kompressionsstufe verringern, höchste Kompression einstellen

1
const zlib.BEST_COMPRESSION = 9;

DEFAULT_COMPRESSION

Komprimierungsstufe verringern, Standardeinstellungen festlegen

1
const zlib.DEFAULT_COMPRESSION = -1;