Improve this page Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone. Page wiki View or edit the community-maintained wiki page associated with this page.

std.zlib

Compress/decompress data using the zlib library.

References:
Wikipedia

License:
Boost License 1.0.

Authors:
Walter Bright

Source:
std/zlib.d

class ZlibException: object.Exception;
Errors throw a ZlibException.

uint adler32(uint adler, const(void)[] buf);
Compute the Adler32 checksum of the data in buf[]. adler is the starting value when computing a cumulative checksum.

uint crc32(uint crc, const(void)[] buf);
Compute the CRC32 checksum of the data in buf[]. crc is the starting value when computing a cumulative checksum.

const(void)[] compress(const(void)[] srcbuf, int level);
const(void)[] compress(const(void)[] buf);
Compresses the data in srcbuf[] using compression level level. The default value for level is 6, legal values are 1..9, with 1 being the least compression and 9 being the most. Returns the compressed data.

void[] uncompress(void[] srcbuf, size_t destlen = 0u, int winbits = 15);
Decompresses the data in srcbuf[].

Parameters:
void[] srcbuf buffer containing the compressed data.
size_t destlen size of the uncompressed data. It need not be accurate, but the decompression will be faster if the exact size is supplied.
int winbits the base two logarithm of the maximum window size.

Returns:
the decompressed data.

enum HeaderFormat: int;
the header format the compressed stream is wrapped in

deflate
a standard zlib header

gzip
a gzip file format header

determineFromData
used when decompressing. Try to automatically detect the stream format by looking at the data

class Compress;
Used when the data to be compressed is not all in one buffer.

class UnCompress;
Used when the data to be decompressed is not all in one buffer.