(JavaScript) Compress Text Feed to Binary
This example receives incoming text data in chunks, compresses as a stream, and accumulates the compressed binary data. Note: This example requires Chilkat v11.0.0 or greater.
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);
|