Sample code for 30+ languages & platforms
Xojo Plugin

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 Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

Dim bdCompressed As New Chilkat.BinData

Dim compress As New Chilkat.Compression
compress.Algorithm = "deflate"
compress.Charset = "utf-8"

Dim sbUncompressedChunk As New Chilkat.StringBuilder

compress.FirstChunk = True
compress.LastChunk = False

Dim i As Int32
For i = 0 To 24
    If (i = 24) Then
        compress.LastChunk = True
    End If

    sbUncompressedChunk.Clear 
    success = sbUncompressedChunk.AppendInt(i)
    success = sbUncompressedChunk.Append(": This is a line of data to be compressed..." + EndOfLine.Windows)

    success = compress.CompressSb(sbUncompressedChunk,bdCompressed)

    compress.FirstChunk = False
Next

// Show the compressed data in hex format:
System.DebugLog("The hex encoded compressed text:")
System.DebugLog(bdCompressed.GetEncoded("hex"))

// Now decompress in one call.  It is important to set both FirstChunk and LastChunk = True
Dim bdDecompressed As New Chilkat.BinData
compress.FirstChunk = True
compress.LastChunk = True
success = compress.DecompressBd2(bdCompressed,bdDecompressed)
If (success = False) Then
    System.DebugLog(compress.LastErrorText)
    Return
End If

Dim originalText As String
originalText = bdDecompressed.GetString("utf-8")
System.DebugLog(originalText)