Sample code for 30+ languages & platforms
PowerShell

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 PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

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

$bdCompressed = New-Object Chilkat.BinData

$compress = New-Object Chilkat.Compression
$compress.Algorithm = "deflate"
$compress.Charset = "utf-8"

$sbUncompressedChunk = New-Object Chilkat.StringBuilder

$compress.FirstChunk = $true
$compress.LastChunk = $false

for ($i = 0; $i -le 24; $i++) {
    if ($i -eq 24) {
        $compress.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.FirstChunk = $false
}

# Show the compressed data in hex format:
$("The hex encoded compressed text:")
$($bdCompressed.GetEncoded("hex"))

# Now decompress in one call.  It is important to set both FirstChunk and LastChunk = $true
$bdDecompressed = New-Object Chilkat.BinData
$compress.FirstChunk = $true
$compress.LastChunk = $true
$success = $compress.DecompressBd2($bdCompressed,$bdDecompressed)
if ($success -eq $false) {
    $($compress.LastErrorText)
    exit
}

$originalText = $bdDecompressed.GetString("utf-8")
$($originalText)