Xbase++ Requires Chilkat v11.0.0+
Xbase++
Compress String Feed to Base64
See more Compression Examples
This example receives incoming text data in chunks, compresses as a stream, and accumulates the compressed data in base64.Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL oSbCompressedBase64
LOCAL oCompress
LOCAL oBdCompressed
LOCAL oSbUncompressedChunk
LOCAL i
LOCAL cOriginalText
nSuccess := 0
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
oSbCompressedBase64 := CreateObject("Chilkat.StringBuilder")
oCompress := CreateObject("Chilkat.Compression")
oCompress:Algorithm := "deflate"
oCompress:Charset := "utf-8"
oCompress:EncodingMode := "base64"
oCompress:FirstChunk := 1
oCompress:LastChunk := 0
oBdCompressed := CreateObject("Chilkat.BinData")
oSbUncompressedChunk := CreateObject("Chilkat.StringBuilder")
FOR i := 0 TO 24
IF (i == 24)
oCompress:LastChunk := 1
ENDIF
oSbUncompressedChunk:Clear()
oSbUncompressedChunk:AppendInt(i)
oSbUncompressedChunk:Append(": This is a line of data to be compressed..." + Chr(13) + Chr(10))
oCompress:CompressSb(oSbUncompressedChunk, oBdCompressed)
oCompress:FirstChunk := 0
NEXT
? "The base64 encoded compressed text:"
? oBdCompressed:GetEncoded("base64")
// Decompress in one call:
cOriginalText := oCompress:DecompressStringENC(oBdCompressed:GetEncoded("base64"))
? cOriginalText
oSbCompressedBase64:destroy()
oCompress:destroy()
oBdCompressed:destroy()
oSbUncompressedChunk:destroy()