Unicode C++
Unicode 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 Unicode C++ Downloads
#include <CkBinDataW.h>
#include <CkCompressionW.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.
CkBinDataW binData;
int i;
for (i = 1; i <= 16; i++) {
binData.AppendEncoded(L"000102030405060708090A0B0C0D0E0F",L"hex");
}
CkCompressionW compress;
compress.put_Algorithm(L"deflate");
compress.put_EncodingMode(L"base64");
CkByteData uncompressedBytes;
success = binData.GetBinary(uncompressedBytes);
// Compress and return the compressed bytes in base64 format.
const wchar_t *compressedBase64 = compress.compressBytesENC(uncompressedBytes);
wprintf(L"compressed and base64 encoded: %s\n",compressedBase64);
// Compress and return in hex format:
compress.put_EncodingMode(L"hex");
const wchar_t *compressedHex = compress.compressBytesENC(uncompressedBytes);
wprintf(L"compressed and hex encoded: %s\n",compressedHex);
// Now decompress..
CkBinDataW binData2;
// Decompress the base64..
compress.put_EncodingMode(L"base64");
success = compress.DecompressBytesENC(compressedBase64,uncompressedBytes);
binData2.AppendBinary(uncompressedBytes);
// Show the uncompressed bytes in hex format:
wprintf(L"%s\n",binData2.getEncoded(L"hex"));
wprintf(L"--\n");
// Decompress the hex..
compress.put_EncodingMode(L"hex");
success = compress.DecompressBytesENC(compressedHex,uncompressedBytes);
binData2.Clear();
binData2.AppendBinary(uncompressedBytes);
// Show the uncompressed bytes in hex format:
wprintf(L"%s\n",binData2.getEncoded(L"hex"));
wprintf(L"--\n");
}