Sample code for 30+ languages & platforms
C#

Compress Text Feed to Binary

See more Compression Examples

This example receives incoming text data in chunks, compresses as a stream, and accumulates the compressed binary data.

Chilkat C# Downloads

C#
bool success = false;

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

Chilkat.BinData bdCompressed = new Chilkat.BinData();

Chilkat.Compression compress = new Chilkat.Compression();
compress.Algorithm = "deflate";
compress.Charset = "utf-8";

Chilkat.StringBuilder sbUncompressedChunk = new Chilkat.StringBuilder();

compress.FirstChunk = true;
compress.LastChunk = false;

int i;
for (i = 0; i <= 24; i++) {
    if (i == 24) {
        compress.LastChunk = true;
    }

    sbUncompressedChunk.Clear();
    sbUncompressedChunk.AppendInt(i);
    sbUncompressedChunk.Append(": This is a line of data to be compressed...\r\n");

    compress.CompressSb(sbUncompressedChunk,bdCompressed);

    compress.FirstChunk = false;
}

// Show the compressed data in hex format:
Debug.WriteLine("The hex encoded compressed text:");
Debug.WriteLine(bdCompressed.GetEncoded("hex"));

// Now decompress in one call.  It is important to set both FirstChunk and LastChunk = true
Chilkat.BinData bdDecompressed = new Chilkat.BinData();
compress.FirstChunk = true;
compress.LastChunk = true;
success = compress.DecompressBd2(bdCompressed,bdDecompressed);
if (success == false) {
    Debug.WriteLine(compress.LastErrorText);
    return;
}

string originalText = bdDecompressed.GetString("utf-8");
Debug.WriteLine(originalText);