Module basismodule

Module zlib

zlib is een ingebouwde compressiemodule die meerdere compressieformaten en -modi ondersteunt, zoals gzip, deflate en zlib.

zlib bestaat hoofdzakelijk uit de volgende drie functies:

  • leeglopen: gecomprimeerde gegevens;
  • opblazen: gegevens decomprimeren;
  • gzip: gzip-compressieformaat.

Voordat u zlib gebruikt, moet u er een kiezen op basis van het compressie-algoritme dat u moet gebruiken. U kunt de constanten van zlib raadplegen om het overeenkomstige compressie-algoritme te selecteren. We gebruiken bijvoorbeeld het deflate-compressie-algoritme voor de modulebeschrijving:

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

De bovenstaande code laat zien hoe u gegevens comprimeert en decomprimeert. Gebruik eerst zlib.deflatede methode om hello, worldde tekenreeks te comprimeren en geef deze door BEST_SPEEDals optie voor het compressieniveau. Gebruik vervolgens zlib.inflatede methode om de gegevens te decomprimeren. Het uitvoerresultaat moet hetzelfde zijn als de originele tekenreeks .

zlib.deflateen zlib.inflatebeide ondersteunen het definiëren van het compressieniveau. Het compressieniveau is een getal met een waardebereik van [NO_COMPRESSION, BEST_SPEED, DEFAULT_COMPRESSION, BEST_COMPRESSION]. De standaardwaarde is DEFAULT_COMPRESSION. Voor de betekenis van deze vier compressieniveaus kunt u de volgende tabel raadplegen:

Compressieniveau Betekenis
zlib.NO_COMPRESSION Niet-gecomprimeerde gegevens (met ondersteuning voor voltooiing van compressieheaders)
zlib.BEST_SPEED De snelste compressiesnelheid; maar de compressieverhouding is overeenkomstig slechter.
zlib.DEFAULT_COMPRESSION Volgens de standaardwaarde van het compressiealgoritme is het doorgaans langzamer dan BEST_SPEED, maar heeft het een hogere compressiesnelheid.
zlib.BEST_COMPRESSION Hoogste compressieverhouding, maar overeenkomstig lagere compressiesnelheid.

zlibWaar u op moet letten bij het gebruik van de module is dat als u tegelijkertijd gegevens wilt comprimeren en decomprimeren, het raadzaam is om deze deflateeerst te gebruiken om de gegevens te comprimeren en deze vervolgens te gebruiken inflateom de gegevens te decomprimeren om fouten te voorkomen. Voor verschillende compressieformaten en algoritmen zijn er andere klassen en methoden voor compressie en decompressie. Voor gebruik kunt u de volgende documenten raadplegen.

statische functie

createDeflate

Maak een leeglopend stroomobject

1
static Stream zlib.createDeflate(Stream to);

Oproepparameters:

  • to:Stream, een stream die wordt gebruikt om verwerkingsresultaten op te slaan

Resultaten retourneren:

  • Stream, retourneert het ingekapselde stroomobject

createDeflateRaw

Maak een deflateRaw-streamobject

1
static Stream zlib.createDeflateRaw(Stream to);

Oproepparameters:

  • to:Stream, een stream die wordt gebruikt om verwerkingsresultaten op te slaan

Resultaten retourneren:

  • Stream, retourneert het ingekapselde stroomobject

createGunzip

Maak een gunzip-streamobject

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

Oproepparameters:

  • to:Stream, een stream die wordt gebruikt om verwerkingsresultaten op te slaan
  • maxSize: geheel getal, specificeert de limiet voor de decompressiegrootte, de standaardwaarde is -1, geen limiet

Resultaten retourneren:

  • Stream, retourneert het ingekapselde stroomobject

createGzip

Maak een gzip-streamobject

1
static Stream zlib.createGzip(Stream to);

Oproepparameters:

  • to:Stream, een stream die wordt gebruikt om verwerkingsresultaten op te slaan

Resultaten retourneren:

  • Stream, retourneert het ingekapselde stroomobject

createInflate

Maak een opblaasstroomobject

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

Oproepparameters:

  • to:Stream, een stream die wordt gebruikt om verwerkingsresultaten op te slaan
  • maxSize: geheel getal, specificeert de limiet voor de decompressiegrootte, de standaardwaarde is -1, geen limiet

Resultaten retourneren:

  • Stream, retourneert het ingekapselde stroomobject

createInflateRaw

Maak een inflatieraw-streamobject

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

Oproepparameters:

  • to:Stream, een stream die wordt gebruikt om verwerkingsresultaten op te slaan
  • maxSize: geheel getal, specificeert de limiet voor de decompressiegrootte, de standaardwaarde is -1, geen limiet

Resultaten retourneren:

  • Stream, retourneert het ingekapselde stroomobject

deflate

Gebruik het deflate-algoritme om gegevens te comprimeren (zlib-formaat)

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

Oproepparameters:

  • data:Buffer, gegeven de te comprimeren gegevens
  • level: Geheel getal, specificeert het compressieniveau, de standaardwaarde is DEFAULT_COMPRESSION

Resultaten retourneren:

  • Buffer, retourneert gecomprimeerde binaire gegevens

deflateTo

Gebruik het deflate-algoritme om gegevens te comprimeren in stream-objecten (zlib-indeling)

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

Oproepparameters:

  • data:Buffer, gegeven de te comprimeren gegevens
  • stm:Stream, specificeert de stream waarin gecomprimeerde gegevens moeten worden opgeslagen
  • level: Geheel getal, specificeert het compressieniveau, de standaardwaarde is DEFAULT_COMPRESSION

Gebruik het deflate-algoritme om gegevens in de bronstream te comprimeren naar een streamobject (zlib-indeling)

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

Oproepparameters:

  • src:Stream, gegeven de stroom waarin de te comprimeren gegevens zich bevinden
  • stm:Stream, specificeert de stream waarin gecomprimeerde gegevens moeten worden opgeslagen
  • level: Geheel getal, specificeert het compressieniveau, de standaardwaarde is DEFAULT_COMPRESSION

inflate

Gegevens decomprimeren die zijn gecomprimeerd door het leegloopalgoritme (zlib-indeling)

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

Oproepparameters:

  • data:Buffer, gezien de gecomprimeerde gegevens
  • maxSize: geheel getal, specificeert de limiet voor de decompressiegrootte, de standaardwaarde is -1, geen limiet

Resultaten retourneren:

  • Buffer, retourneert de gedecomprimeerde binaire gegevens

inflateTo

Decomprimeer gegevens die zijn gecomprimeerd door het deflate-algoritme in een streamobject (zlib-indeling)

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

Oproepparameters:

  • data:Buffer, gegeven de gegevens die moeten worden gedecomprimeerd
  • stm:Streamgeeft u de stream op waarin gedecomprimeerde gegevens moeten worden opgeslagen
  • maxSize: geheel getal, specificeert de limiet voor de decompressiegrootte, de standaardwaarde is -1, geen limiet

Decomprimeer de gegevens die zijn gecomprimeerd door het deflate-algoritme in de bronstream naar een streamobject (zlib-indeling)

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

Oproepparameters:

  • src:Stream, gegeven de stroom waarin de te decomprimeren gegevens zich bevinden
  • stm:Streamgeeft u de stream op waarin gedecomprimeerde gegevens moeten worden opgeslagen
  • maxSize: geheel getal, specificeert de limiet voor de decompressiegrootte, de standaardwaarde is -1, geen limiet

gzip

Gegevens comprimeren met behulp van het gzip-algoritme

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

Oproepparameters:

  • data:Buffer, gegeven de te comprimeren gegevens

Resultaten retourneren:

  • Buffer, retourneert gecomprimeerde binaire gegevens

gzipTo

Gebruik het gzip-algoritme om gegevens in een streamobject te comprimeren

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

Oproepparameters:

  • data:Buffer, gegeven de te comprimeren gegevens
  • stm:Stream, specificeert de stream waarin gecomprimeerde gegevens moeten worden opgeslagen

Gebruik het gzip-algoritme om de gegevens in de bronstream te comprimeren tot een streamobject.

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

Oproepparameters:

  • src:Stream, gegeven de stroom waarin de te comprimeren gegevens zich bevinden
  • stm:Stream, specificeert de stream waarin gecomprimeerde gegevens moeten worden opgeslagen

gunzip

Decomprimeer gegevens die zijn gecomprimeerd door het gzip-algoritme

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

Oproepparameters:

  • data:Buffer, gezien de gecomprimeerde gegevens
  • maxSize: geheel getal, specificeert de limiet voor de decompressiegrootte, de standaardwaarde is -1, geen limiet

Resultaten retourneren:

  • Buffer, retourneert de gedecomprimeerde binaire gegevens

gunzipTo

Decomprimeer met het gzip-algoritme gecomprimeerde gegevens in een streamobject

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

Oproepparameters:

  • data:Buffer, gegeven de gegevens die moeten worden gedecomprimeerd
  • stm:Streamgeeft u de stream op waarin gedecomprimeerde gegevens moeten worden opgeslagen
  • maxSize: geheel getal, specificeert de limiet voor de decompressiegrootte, de standaardwaarde is -1, geen limiet

Decomprimeer de met het gzip-algoritme gecomprimeerde gegevens in de bronstream naar een streamobject

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

Oproepparameters:

  • src:Stream, gegeven de stroom waarin de te decomprimeren gegevens zich bevinden
  • stm:Streamgeeft u de stream op waarin gedecomprimeerde gegevens moeten worden opgeslagen
  • maxSize: geheel getal, specificeert de limiet voor de decompressiegrootte, de standaardwaarde is -1, geen limiet

deflateRaw

Gegevens comprimeren met behulp van het deflate-algoritme (deflateRaw)

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

Oproepparameters:

  • data:Buffer, gegeven de te comprimeren gegevens
  • level: Geheel getal, specificeert het compressieniveau, de standaardwaarde is DEFAULT_COMPRESSION

Resultaten retourneren:

  • Buffer, retourneert gecomprimeerde binaire gegevens

deflateRawTo

Gebruik het deflate-algoritme om gegevens in streamobjecten te comprimeren (deflateRaw)

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

Oproepparameters:

  • data:Buffer, gegeven de te comprimeren gegevens
  • stm:Stream, specificeert de stream waarin gecomprimeerde gegevens moeten worden opgeslagen
  • level: Geheel getal, specificeert het compressieniveau, de standaardwaarde is DEFAULT_COMPRESSION

Gebruik het deflate-algoritme om gegevens in de bronstream te comprimeren tot een streamobject (deflateRaw)

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

Oproepparameters:

  • src:Stream, gegeven de stroom waarin de te comprimeren gegevens zich bevinden
  • stm:Stream, specificeert de stream waarin gecomprimeerde gegevens moeten worden opgeslagen
  • level: Geheel getal, specificeert het compressieniveau, de standaardwaarde is DEFAULT_COMPRESSION

inflateRaw

Decomprimeer gegevens die zijn gecomprimeerd door het leegloopalgoritme (inflateRaw)

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

Oproepparameters:

  • data:Buffer, gezien de gecomprimeerde gegevens
  • maxSize: geheel getal, specificeert de limiet voor de decompressiegrootte, de standaardwaarde is -1, geen limiet

Resultaten retourneren:

  • Buffer, retourneert de gedecomprimeerde binaire gegevens

inflateRawTo

Decomprimeer gegevens die zijn gecomprimeerd door het deflate-algoritme in een streamobject (inflateRaw)

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

Oproepparameters:

  • data:Buffer, gegeven de gegevens die moeten worden gedecomprimeerd
  • stm:Streamgeeft u de stream op waarin gedecomprimeerde gegevens moeten worden opgeslagen
  • maxSize: geheel getal, specificeert de limiet voor de decompressiegrootte, de standaardwaarde is -1, geen limiet

Decomprimeer gegevens die zijn gecomprimeerd door het deflate-algoritme in de bronstream naar een streamobject (inflateRaw)

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

Oproepparameters:

  • src:Stream, gegeven de stroom waarin de te decomprimeren gegevens zich bevinden
  • stm:Streamgeeft u de stream op waarin gedecomprimeerde gegevens moeten worden opgeslagen
  • maxSize: geheel getal, specificeert de limiet voor de decompressiegrootte, de standaardwaarde is -1, geen limiet

constante

NO_COMPRESSION

laat het compressieniveau leeglopen, stel geen compressie in

1
const zlib.NO_COMPRESSION = 0;

BEST_SPEED

laat het compressieniveau leeglopen, stel de snelste compressie in

1
const zlib.BEST_SPEED = 1;

BEST_COMPRESSION

laat het compressieniveau leeglopen, stel de hoogste compressie in

1
const zlib.BEST_COMPRESSION = 9;

DEFAULT_COMPRESSION

compressieniveau leeg laten lopen, standaardinstellingen instellen

1
const zlib.DEFAULT_COMPRESSION = -1;