C++
C++
Compress Bytes to Base64 (or any other encoding)
See more Compression Examples
Compresses bytes to base64 or any other encoding. Also decompress to return the original.Chilkat C++ Downloads
#include <CkBinData.h>
#include <CkCompression.h>
#include <CkByteData.h>
void ChilkatSample(void)
{
bool success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// First create some binary data to compress.
CkBinData binData;
int i;
for (i = 1; i <= 16; i++) {
binData.AppendEncoded("000102030405060708090A0B0C0D0E0F","hex");
}
CkCompression compress;
compress.put_Algorithm("deflate");
compress.put_EncodingMode("base64");
CkByteData uncompressedBytes;
success = binData.GetBinary(uncompressedBytes);
// Compress and return the compressed bytes in base64 format.
const char *compressedBase64 = compress.compressBytesENC(uncompressedBytes);
std::cout << "compressed and base64 encoded: " << compressedBase64 << "\r\n";
// Compress and return in hex format:
compress.put_EncodingMode("hex");
const char *compressedHex = compress.compressBytesENC(uncompressedBytes);
std::cout << "compressed and hex encoded: " << compressedHex << "\r\n";
// Now decompress..
CkBinData binData2;
// Decompress the base64..
compress.put_EncodingMode("base64");
success = compress.DecompressBytesENC(compressedBase64,uncompressedBytes);
binData2.AppendBinary(uncompressedBytes);
// Show the uncompressed bytes in hex format:
std::cout << binData2.getEncoded("hex") << "\r\n";
std::cout << "--" << "\r\n";
// Decompress the hex..
compress.put_EncodingMode("hex");
success = compress.DecompressBytesENC(compressedHex,uncompressedBytes);
binData2.Clear();
binData2.AppendBinary(uncompressedBytes);
// Show the uncompressed bytes in hex format:
std::cout << binData2.getEncoded("hex") << "\r\n";
std::cout << "--" << "\r\n";
}