CkPython
CkPython
Compress Text Feed to Binary
See more Compression Examples
This example receives incoming text data in chunks, compresses as a stream, and accumulates the compressed binary data.Chilkat CkPython Downloads
import sys
import chilkat
success = False
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
bdCompressed = chilkat.CkBinData()
compress = chilkat.CkCompression()
compress.put_Algorithm("deflate")
compress.put_Charset("utf-8")
sbUncompressedChunk = chilkat.CkStringBuilder()
compress.put_FirstChunk(True)
compress.put_LastChunk(False)
for i in range(0,25):
if (i == 24):
compress.put_LastChunk(True)
sbUncompressedChunk.Clear()
sbUncompressedChunk.AppendInt(i)
sbUncompressedChunk.Append(": This is a line of data to be compressed...\r\n")
compress.CompressSb(sbUncompressedChunk,bdCompressed)
compress.put_FirstChunk(False)
# Show the compressed data in hex format:
print("The hex encoded compressed text:")
print(bdCompressed.getEncoded("hex"))
# Now decompress in one call. It is important to set both FirstChunk and LastChunk = True
bdDecompressed = chilkat.CkBinData()
compress.put_FirstChunk(True)
compress.put_LastChunk(True)
success = compress.DecompressBd2(bdCompressed,bdDecompressed)
if (success == False):
print(compress.lastErrorText())
sys.exit()
originalText = bdDecompressed.getString("utf-8")
print(originalText)