C++
C++
Compress and Decompress a String
See more Compression Examples
Demonstrates how to compress and decompress a string.Chilkat C++ Downloads
#include <CkStringBuilder.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.
CkStringBuilder sb;
int i;
for (i = 1; i <= 20; i++) {
sb.Append("This is the original uncompressed string.\r\n");
}
CkCompression compress;
compress.put_Algorithm("deflate");
// Indicate that the utf-8 byte representation of the string should be compressed.
compress.put_Charset("utf-8");
CkByteData compressedBytes;
success = compress.CompressString(sb.getAsString(),compressedBytes);
// If the compressed data is desired in string format, then get the base64 representation of the bytes.
compress.put_EncodingMode("base64");
const char *compressedBase64 = compress.compressStringENC(sb.getAsString());
std::cout << "Compressed Bytes as Base64: " << compressedBase64 << "\r\n";
// Now decompress...
const char *decompressedString = compress.decompressString(compressedBytes);
std::cout << "The original string after decompressing from binary compressed data:" << "\r\n";
std::cout << decompressedString << "\r\n";
// To decompress from Base64...
compress.put_EncodingMode("base64");
decompressedString = compress.decompressStringENC(compressedBase64);
std::cout << "The original string after decompressing from Base64:" << "\r\n";
std::cout << decompressedString << "\r\n";
}