Sample code for 30+ languages & platforms
JavaScript

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.
Note
This example is intended for running within a Chilkat.Js embedded JavaScript engine. All Chilkat JavaScript examples require Chilkat v11.4.0 or greater.
JavaScript
var success = false;

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

var bdCompressed = new CkBinData();

var compress = new CkCompression();
compress.Algorithm = "deflate";
compress.Charset = "utf-8";

var sbUncompressedChunk = new CkStringBuilder();

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

var 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:
console.log("The hex encoded compressed text:");
console.log(bdCompressed.GetEncoded("hex"));

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

var originalText = bdDecompressed.GetString("utf-8");
console.log(originalText);