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.
import sys import chilkat compress = chilkat.CkCompression() # Any string argument automatically begins a 30-day trial. success = compress.UnlockComponent("30-day trial") if (success != True): print "Compression component unlock failed" sys.exit() compress.put_Algorithm("ppmd") # Create a long string to compress. strData = "abcdefg1122334455667788" strData = strData + "\r\n" for i in range(0,100): strData = strData + "abcdefg1122334455667788" strData = strData + "\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. # PPMD compress the string: compressedStr = compress.compressStringENC(strData) if (compressedStr == None ): print compress.lastErrorText() sys.exit() # Display the compressed string. # The result will be: # ec8YZ5vk9za18d0plwuV7R65em9OZge9gJXht/QAAAAAAAAAABNOZQAAKw== print compressedStr # Decompress back to the original: strOriginal = compress.decompressStringENC(compressedStr) # Display the uncompressed original: print "--- Original ---" print strOriginal |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.