Mòdul mòdul bàsic

Mòdul zlib

zlib és un mòdul de compressió integrat que admet diversos formats i modes de compressió com ara gzip, deflate i zlib.

zlib consta principalment de les tres funcions següents:

  • desinflar: dades comprimides;
  • inflar: descomprimir dades;
  • gzip: format de compressió gzip.

Abans d'utilitzar zlib, heu de triar-ne un segons l'algoritme de compressió que heu d'utilitzar. Podeu consultar les constants de zlib per seleccionar l'algorisme de compressió corresponent. Per exemple, utilitzem l'algoritme de compressió desinflat per a la descripció del mòdul:

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

El codi anterior mostra com comprimir i descomprimir les dades. Primer utilitzeu zlib.deflateel mètode per comprimir hello, worldla cadena i introduïu-lo BEST_SPEEDcom a opció de nivell de compressió, i després utilitzeu zlib.inflateel mètode per descomprimir les dades. El resultat de sortida hauria de ser el mateix que la cadena original. .

zlib.deflatei zlib.inflatetots dos admeten la definició del nivell de compressió. El nivell de compressió és un nombre amb un rang de valors de [NO_COMPRESSION, BEST_SPEED, DEFAULT_COMPRESSION, BEST_COMPRESSION]. El valor per defecte és DEFAULT_COMPRESSION. Per conèixer el significat d'aquests quatre nivells de compressió, podeu consultar la taula següent:

Nivell de compressió Significat
zlib.NO_COMPRESSION Dades sense comprimir (amb suport per a la finalització de la capçalera de compressió)
zlib.BEST_SPEED La velocitat de compressió més ràpida, però la relació de compressió és corresponentment pitjor.
zlib.DEFAULT_COMPRESSION Segons el valor predeterminat de l'algorisme de compressió, normalment és més lent que BEST_SPEED, però té una taxa de compressió més alta.
zlib.BEST_COMPRESSION Relació de compressió més alta, però la velocitat de compressió corresponentment més lenta.

zlibEl que cal tenir en compte quan utilitzeu el mòdul és que si voleu comprimir i descomprimir dades al mateix temps, es recomana utilitzar-lo deflateper comprimir les dades primer i després utilitzar-lo inflateper descomprimir les dades per evitar errors. Per a diferents formats i algorismes de compressió, hi ha altres classes i mètodes de compressió i descompressió. Podeu consultar els documents següents per utilitzar-los.

funció estàtica

createDeflate

Creeu un objecte de flux desinflat

1
static Stream zlib.createDeflate(Stream to);

Paràmetres de trucada:

  • to:Stream, un flux utilitzat per emmagatzemar els resultats del processament

Resultats de retorn:

  • Stream, retorna l'objecte de flux encapsulat

createDeflateRaw

Creeu un objecte de flux deflateRaw

1
static Stream zlib.createDeflateRaw(Stream to);

Paràmetres de trucada:

  • to:Stream, un flux utilitzat per emmagatzemar els resultats del processament

Resultats de retorn:

  • Stream, retorna l'objecte de flux encapsulat

createGunzip

Creeu un objecte de flux gunzip

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

Paràmetres de trucada:

  • to:Stream, un flux utilitzat per emmagatzemar els resultats del processament
  • maxSize: Sencer, especifica el límit de mida de descompressió, el valor predeterminat és -1, sense límit

Resultats de retorn:

  • Stream, retorna l'objecte de flux encapsulat

createGzip

Creeu un objecte de flux gzip

1
static Stream zlib.createGzip(Stream to);

Paràmetres de trucada:

  • to:Stream, un flux utilitzat per emmagatzemar els resultats del processament

Resultats de retorn:

  • Stream, retorna l'objecte de flux encapsulat

createInflate

Creeu un objecte de flux inflat

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

Paràmetres de trucada:

  • to:Stream, un flux utilitzat per emmagatzemar els resultats del processament
  • maxSize: Sencer, especifica el límit de mida de descompressió, el valor predeterminat és -1, sense límit

Resultats de retorn:

  • Stream, retorna l'objecte de flux encapsulat

createInflateRaw

Creeu un objecte de flux inflateRaw

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

Paràmetres de trucada:

  • to:Stream, un flux utilitzat per emmagatzemar els resultats del processament
  • maxSize: Sencer, especifica el límit de mida de descompressió, el valor predeterminat és -1, sense límit

Resultats de retorn:

  • Stream, retorna l'objecte de flux encapsulat

deflate

Utilitzeu l'algorisme desinflat per comprimir dades (format zlib)

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

Paràmetres de trucada:

  • data:Buffer, donades les dades a comprimir
  • level: Enter, especifica el nivell de compressió, el valor per defecte és DEFAULT_COMPRESSION

Resultats de retorn:

  • Buffer, retorna dades binàries comprimides

deflateTo

Utilitzeu l'algorisme desinflat per comprimir dades en objectes de flux (format zlib)

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

Paràmetres de trucada:

  • data:Buffer, donades les dades a comprimir
  • stm:Stream, especifica el flux per emmagatzemar dades comprimides
  • level: Enter, especifica el nivell de compressió, el valor per defecte és DEFAULT_COMPRESSION

Utilitzeu l'algoritme de desinflació per comprimir les dades del flux d'origen en un objecte de flux (format zlib)

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

Paràmetres de trucada:

  • src:Stream, donat el flux en què es troben les dades a comprimir
  • stm:Stream, especifica el flux per emmagatzemar dades comprimides
  • level: Enter, especifica el nivell de compressió, el valor per defecte és DEFAULT_COMPRESSION

inflate

Descomprimir dades comprimides per algorisme de desinflació (format zlib)

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

Paràmetres de trucada:

  • data:Buffer, donades les dades comprimides
  • maxSize: Sencer, especifica el límit de mida de descompressió, el valor predeterminat és -1, sense límit

Resultats de retorn:

  • Buffer, retorna les dades binàries descomprimides

inflateTo

Descomprimiu les dades comprimides per l'algoritme de desinflació en un objecte de flux (format zlib)

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

Paràmetres de trucada:

  • data:Buffer, donades les dades a descomprimir
  • stm:Stream, especifiqueu el flux per emmagatzemar les dades descomprimides
  • maxSize: Sencer, especifica el límit de mida de descompressió, el valor predeterminat és -1, sense límit

Descomprimiu les dades comprimides per l'algoritme de desinflació al flux d'origen en un objecte de flux (format zlib)

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

Paràmetres de trucada:

  • src:Stream, donat el flux en què es troben les dades a descomprimir
  • stm:Stream, especifiqueu el flux per emmagatzemar les dades descomprimides
  • maxSize: Sencer, especifica el límit de mida de descompressió, el valor predeterminat és -1, sense límit

gzip

Comprimiu dades mitjançant l'algorisme gzip

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

Paràmetres de trucada:

  • data:Buffer, donades les dades a comprimir

Resultats de retorn:

  • Buffer, retorna dades binàries comprimides

gzipTo

Utilitzeu l'algoritme gzip per comprimir dades en un objecte de flux

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

Paràmetres de trucada:

  • data:Buffer, donades les dades a comprimir
  • stm:Stream, especifica el flux per emmagatzemar dades comprimides

Utilitzeu l'algoritme gzip per comprimir les dades del flux d'origen en un objecte del flux.

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

Paràmetres de trucada:

  • src:Stream, donat el flux en què es troben les dades a comprimir
  • stm:Stream, especifica el flux per emmagatzemar dades comprimides

gunzip

Descomprimiu les dades comprimides per l'algoritme gzip

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

Paràmetres de trucada:

  • data:Buffer, donades les dades comprimides
  • maxSize: Sencer, especifica el límit de mida de descompressió, el valor predeterminat és -1, sense límit

Resultats de retorn:

  • Buffer, retorna les dades binàries descomprimides

gunzipTo

Descomprimiu les dades comprimides amb l'algoritme gzip en un objecte de flux

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

Paràmetres de trucada:

  • data:Buffer, donades les dades a descomprimir
  • stm:Stream, especifiqueu el flux per emmagatzemar les dades descomprimides
  • maxSize: Sencer, especifica el límit de mida de descompressió, el valor predeterminat és -1, sense límit

Descomprimiu les dades comprimides amb l'algoritme gzip del flux d'origen en un objecte del flux

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

Paràmetres de trucada:

  • src:Stream, donat el flux en què es troben les dades a descomprimir
  • stm:Stream, especifiqueu el flux per emmagatzemar les dades descomprimides
  • maxSize: Sencer, especifica el límit de mida de descompressió, el valor predeterminat és -1, sense límit

deflateRaw

Comprimiu dades mitjançant l'algoritme de deflate (deflateRaw)

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

Paràmetres de trucada:

  • data:Buffer, donades les dades a comprimir
  • level: Enter, especifica el nivell de compressió, el valor per defecte és DEFAULT_COMPRESSION

Resultats de retorn:

  • Buffer, retorna dades binàries comprimides

deflateRawTo

Utilitzeu l'algoritme de deflació per comprimir dades en objectes de flux (deflateRaw)

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

Paràmetres de trucada:

  • data:Buffer, donades les dades a comprimir
  • stm:Stream, especifica el flux per emmagatzemar dades comprimides
  • level: Enter, especifica el nivell de compressió, el valor per defecte és DEFAULT_COMPRESSION

Utilitzeu l'algoritme de deflate per comprimir les dades del flux d'origen en un objecte de flux (deflateRaw)

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

Paràmetres de trucada:

  • src:Stream, donat el flux en què es troben les dades a comprimir
  • stm:Stream, especifica el flux per emmagatzemar dades comprimides
  • level: Enter, especifica el nivell de compressió, el valor per defecte és DEFAULT_COMPRESSION

inflateRaw

Descomprimir dades comprimides per algorisme de desinflat (inflateRaw)

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

Paràmetres de trucada:

  • data:Buffer, donades les dades comprimides
  • maxSize: Sencer, especifica el límit de mida de descompressió, el valor predeterminat és -1, sense límit

Resultats de retorn:

  • Buffer, retorna les dades binàries descomprimides

inflateRawTo

Descomprimiu les dades comprimides per l'algoritme de desinflat en un objecte de flux (inflateRaw)

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

Paràmetres de trucada:

  • data:Buffer, donades les dades a descomprimir
  • stm:Stream, especifiqueu el flux per emmagatzemar les dades descomprimides
  • maxSize: Sencer, especifica el límit de mida de descompressió, el valor predeterminat és -1, sense límit

Descomprimiu les dades comprimides per l'algoritme de desinflació del flux d'origen en un objecte de flux (inflateRaw)

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

Paràmetres de trucada:

  • src:Stream, donat el flux en què es troben les dades a descomprimir
  • stm:Stream, especifiqueu el flux per emmagatzemar les dades descomprimides
  • maxSize: Sencer, especifica el límit de mida de descompressió, el valor predeterminat és -1, sense límit

constant

NO_COMPRESSION

desinflar el nivell de compressió, no establir compressió

1
const zlib.NO_COMPRESSION = 0;

BEST_SPEED

desinfla el nivell de compressió, estableix la compressió més ràpida

1
const zlib.BEST_SPEED = 1;

BEST_COMPRESSION

desinflar el nivell de compressió, establir la compressió més alta

1
const zlib.BEST_COMPRESSION = 9;

DEFAULT_COMPRESSION

desinflar el nivell de compressió, establir la configuració predeterminada

1
const zlib.DEFAULT_COMPRESSION = -1;