Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
PPMD String CompressionDemonstrates string compression using PPMD. The functionality in this example is available in pre-release only:
use chilkat; $compress = new chilkat::CkCompression(); # Any string argument automatically begins a 30-day trial. $success = $compress->UnlockComponent("30-day trial"); if ($success != 1) { print "Compression component unlock failed" . "\n"; exit; } $compress->put_Algorithm("ppmd"); # Create a long string to compress. $strData = "abcdefg1122334455667788"; $strData = $strData . "\r\n"; for ($i = 0; $i <= 99; $i++) { $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 eq null ) { print $compress->lastErrorText() . "\n"; exit; } # Display the compressed string. # The result will be: # ec8YZ5vk9za18d0plwuV7R65em9OZge9gJXht/QAAAAAAAAAABNOZQAAKw== print $compressedStr . "\r\n"; # Decompress back to the original: $strOriginal = $compress->decompressStringENC($compressedStr); # Display the uncompressed original: print "--- Original ---" . "\r\n"; print $strOriginal . "\r\n"; |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.