Sample code for 30+ languages & platforms
Node.js

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 Node.js Downloads

Node.js
NODEJS_PRELUDE

function chilkatExample() {

    var success = false;

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

    var bdCompressed = new chilkat.BinData();

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

    var sbUncompressedChunk = new chilkat.StringBuilder();

    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 chilkat.BinData();
    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);

}

chilkatExample();