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
|
PPMD String CompressionDemonstrates string compression using PPMD.
LOCAL loCompress LOCAL lnSuccess LOCAL lcStrData LOCAL i LOCAL lcCompressedStr LOCAL lcStrOriginal loCompress = CreateObject('Chilkat.Compression') * Any string argument automatically begins a 30-day trial. lnSuccess = loCompress.UnlockComponent("30-day trial") IF (lnSuccess <> 1) THEN =MESSAGEBOX("Compression component unlock failed") QUIT ENDIF loCompress.Algorithm = "ppmd" * Create a long string to compress. lcStrData = "abcdefg1122334455667788" lcStrData = lcStrData + CHR(13)+CHR(10) FOR i = 0 TO 99 lcStrData = lcStrData + "abcdefg1122334455667788" lcStrData = lcStrData + CHR(13)+CHR(10) NEXT * Depending on the programming language, the string * may be Unicode. Tell the component to convert to * ansi (1-byte/char) prior to compression: loCompress.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) loCompress.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. * PPMD compress the string: lcCompressedStr = loCompress.CompressStringENC(lcStrData) IF (lcCompressedStr = NULL ) THEN =MESSAGEBOX(loCompress.LastErrorText) QUIT ENDIF * Display the compressed string. * The result will be: * ec8YZ5vk9za18d0plwuV7R65em9OZge9gJXht/QAAAAAAAAAABNOZQAAKw== ? lcCompressedStr * Decompress back to the original: lcStrOriginal = loCompress.DecompressStringENC(lcCompressedStr) * Display the uncompressed original: ? "--- Original ---" ? lcStrOriginal |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.
Mail Component · .NET Email Component · ASP Mail Component · XML Parser