Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
(C++) Deflate StringCompresses a string using the Deflate compression algorithm. Downloads: MS Windows Visual C/C++ Libraries Linux/CentOS C/C++ Libraries MAC OS X C/C++ Libraries Solaris C/C++ Libraries C++ Builder Libraries #include <CkCompression.h> #include <CkString.h> void ChilkatSample(void) { CkCompression compress; // Any string argument automatically begins a 30-day trial. bool success; success = compress.UnlockComponent("30-day trial"); if (success != true) { printf("%s\n",compress.lastErrorText()); return; } compress.put_Algorithm("deflate"); CkString strData; long i; // Create a long string to deflate. strData = "abcdefg1122334455667788"; strData.append("\r\n"); for (i = 0; i <= 99; i++) { strData.append("abcdefg1122334455667788"); strData.append("\r\n"); } // Depending on the programming language, the string // may be Unicode. Tell the component to convert to // ansi (1-byte/char) prior to compression: compress.put_Charset("ansi"); // Compressed data is binary, meaning that all byte values // from 0 to 255 are possible. The result would not be // a printable string. To receive a printable string (us-ascii), // the resultant compressed data should be encoded using // an encoding such as base64. Set the EncodingMode // property to determine the output encoding: // (Valid choices are "base64", "hex", "url", and others) compress.put_EncodingMode("base64"); // Note: Base64 encoding expands the compressed data by // 4/3rds because each 3 bytes of binary data are represented // by 4 printable chars. Hex, for example, doubles the output // size because each byte is represented by 2 printable chars. // Deflate the string: const char * deflatedStr; deflatedStr = compress.compressStringENC(strData); if (deflatedStr == 0 ) { printf("%s\n",compress.lastErrorText()); return; } // Display the deflated string. // The result will be: // S0xKTklNSzc0NDIyNjYxMTU1MzM3t7Dg5UoclRiVGJUYlRiVGJUYlRiVGJUYchIA printf("%s\n",deflatedStr); // Decompress back to the original: const char * strOriginal; strOriginal = compress.decompressStringENC(deflatedStr); // Display the uncompressed original: printf("--- Original ---\n"); printf("%s\n",strOriginal); } |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.