Перейти к содержимому

Справочник API node:zlib

Deflate, Gzip, Brotli, Zstandard и CRC32

На этой странице
Open in ChatGPTOpen in Claude

node:zlib поддерживает API на функциях обратного вызова, синхронные и потоковые API.

СемействоПоддержка
DeflateФункции сжатия/распаковки с обёрткой и без, варианты Sync, классы и функции create*
GzipGzip, gunzip, unzip, варианты Sync, классы и функции create*
BrotliФункции сжатия/распаковки, классы и функции create*
ZstandardФункции сжатия/распаковки, классы и функции create*
Утилитыcrc32, constants и 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!"

Формы с функциями обратного вызова получают (error, result); синхронные формы возвращают Buffer или выбрасывают исключение.

node:zlib/iter

Специфичный для Elide модуль итераторов предоставляет фабрики преобразований для gzip, deflate, raw deflate, Brotli и Zstandard. Фабрика возвращает объект с .transform(asyncIterable); результат поступает пакетами фрагментов байтов.

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
  }
}

С Web Streams используйте потоки сжатия.

См. также

Reference

Status: Partial · Not measured · since 1.1.0

Exports

ExportKindStatusNotes
deflateSync()functionFullCompress data using the deflate algorithm (RFC 1951 wrapped in zlib format RFC 1950)
inflateSync()functionFullDecompress data that was compressed with deflate (zlib format)
deflateRawSync()functionFullCompress data using the deflate algorithm in raw mode (no zlib header, RFC 1951)
inflateRawSync()functionFullDecompress raw deflate data (no zlib header)
gzipSync()functionFullCompress data using gzip (RFC 1952)
gunzipSync()functionFullDecompress gzip data (RFC 1952)
brotliCompressSync()functionFullCompress data using the Brotli algorithm (RFC 7932)
brotliDecompressSync()functionFullDecompress Brotli-compressed data (RFC 7932)
unzipSync()functionFullDecompress data with automatic format detection (gzip or deflate)
constantspropertyFullThe constants object exposes zlib, Brotli, and Zstd numeric constants
top-level constantsconstantPartialZ_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.

Была ли эта страница полезной?