View source code
Display the source code in std/zlib.d from which this
page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a
Bugzilla issue.
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.
Module std.zlib
Compress/decompress data using the zlib library.
Examples
If you have a small buffer you can use compress
and
uncompress
directly.
import std .zlib;
auto src =
"the quick brown fox jumps over the lazy dog\r
the quick brown fox jumps over the lazy dog\r";
ubyte[] dst;
ubyte[] result;
dst = compress(src);
result = cast(ubyte[]) uncompress(dst);
assert(result == src);
When the data to be compressed doesn't fit in one buffer, use
Compress
and UnCompress
.
import std .zlib;
import std .stdio;
import std .conv : to;
import std .algorithm .iteration : map;
UnCompress decmp = new UnCompress;
foreach (chunk; stdin .byChunk(4096) .map!(x => decmp .uncompress(x)))
{
chunk .to!string .write;
}
References
Functions
Name | Description |
---|---|
adler32(adler, buf)
|
Compute the Adler-32 checksum of a buffer's worth of data. |
compress(srcbuf, level)
|
Compress data |
crc32(crc, buf)
|
Compute the CRC32 checksum of a buffer's worth of data. |
uncompress(srcbuf, destlen, winbits)
|
Decompresses the data in srcbuf[]. |
Classes
Name | Description |
---|---|
Compress
|
Used when the data to be compressed is not all in one buffer. |
UnCompress
|
Used when the data to be decompressed is not all in one buffer. |
ZlibException
|
Errors throw a ZlibException. |
Enums
Name | Description |
---|---|
HeaderFormat
|
the header format the compressed stream is wrapped in |
Authors
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.