node:zlib prend en charge les API à callbacks, synchrones et de flux.
| Famille | Prise en charge |
|---|---|
| Deflate | Fonctions de compression/décompression encapsulées et brutes, variantes Sync, classes et utilitaires create* |
| Gzip | Gzip, gunzip, unzip, variantes Sync, classes et utilitaires create* |
| Brotli | Fonctions de compression/décompression, classes et utilitaires create* |
| Zstandard | Fonctions de compression/décompression, classes et utilitaires create* |
| Utilitaires | crc32, constants et codes |
const zlib = require("node:zlib");
const input = Buffer.from("hello, zlib!");
const gzip = zlib.gzipSync(input);
zlib.gunzipSync(gzip).toString(); // "hello, zlib!"
const zstd = zlib.zstdCompressSync(input);
zlib.zstdDecompressSync(zstd).toString(); // "hello, zlib!"Les formes à callbacks reçoivent (error, result) ; les formes synchrones
renvoient un Buffer ou lèvent une erreur.
node:zlib/iter
Le module d’itérateurs propre à Elide fournit des fabriques de transformations
pour gzip, deflate, deflate brut, Brotli et Zstandard. Une fabrique renvoie un
objet doté de .transform(asyncIterable) ; la sortie arrive par lots de
fragments d’octets.
import { gzip } from "node:zlib/iter";
async function* input() {
yield new TextEncoder().encode("hello");
}
for await (const batch of gzip().transform(input())) {
for (const chunk of batch) {
// compressed bytes
}
}Utilisez Compression Streams avec les Web Streams.
Voir aussi
Reference
Status: Partial · Not measured · since 1.1.0
Exports
| Export | Kind | Status | Notes |
|---|---|---|---|
deflateSync() | function | Full | Compress data using the deflate algorithm (RFC 1951 wrapped in zlib format RFC 1950) |
inflateSync() | function | Full | Decompress data that was compressed with deflate (zlib format) |
deflateRawSync() | function | Full | Compress data using the deflate algorithm in raw mode (no zlib header, RFC 1951) |
inflateRawSync() | function | Full | Decompress raw deflate data (no zlib header) |
gzipSync() | function | Full | Compress data using gzip (RFC 1952) |
gunzipSync() | function | Full | Decompress gzip data (RFC 1952) |
brotliCompressSync() | function | Full | Compress data using the Brotli algorithm (RFC 7932) |
brotliDecompressSync() | function | Full | Decompress Brotli-compressed data (RFC 7932) |
unzipSync() | function | Full | Decompress data with automatic format detection (gzip or deflate) |
constants | property | Full | The constants object exposes zlib, Brotli, and Zstd numeric constants |
| top-level constants | constant | Partial | Z_NO_COMPRESSION, Z_BEST_SPEED, Z_BEST_COMPRESSION, Z_DEFAULT_COMPRESSION, Z_FILTERED, Z_HUFFMAN_ONLY and 73 more |
Not implemented
107 top-level constants such as DEFLATE.