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: Wikipedia