(JavaScript) Compress and Decompress Base64
Imagine we have data represented as a base64 string. This example demonstrates how to decode, compress, and re-encode to smaller base64 representing the compressed data.
Note: This example requires Chilkat v9.5.0.66 or greater.
var success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
var strBase64 = "VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuDQpUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4NClRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLg0KVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuDQpUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4NCg0K";
var compress = new CkCompression();
compress.Algorithm = "deflate";
var binDat = new CkBinData();
// Load the base64 data into a BinData object.
// This decodes the base64. The decoded bytes will be contained in the BinData.
binDat.AppendEncoded(strBase64,"base64");
// Compress the BinData.
compress.CompressBd(binDat);
// Get the compressed data in base64 format:
var compressedBase64 = binDat.GetEncoded("base64");
console.log("compressed base64:");
console.log(compressedBase64);
// The compressed base64 is: C8lIVSgszUzOVkgqyi/PU0jLr1DIKs0tSE1RyC9LLVIoAcrnJFZVKqTkp+vxcoUMYeW8XAA=
// Now decompress:
binDat.Clear();
binDat.AppendEncoded(compressedBase64,"base64");
compress.DecompressBd(binDat);
var decompressedBase64 = binDat.GetEncoded("base64");
console.log("decompressed base64:");
console.log(decompressedBase64);
// The output is the original data:
// VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuDQpUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4NClRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLg0KVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuDQpUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4NCg0K
|