Sample code for 30+ languages & platforms
Swift

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

Swift

func chilkatTest() {
    var success: Bool = false

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

    let sbCompressedBase64 = CkoStringBuilder()!

    let compress = CkoCompression()!
    compress.algorithm = "deflate"
    compress.charset = "utf-8"
    compress.encodingMode = "base64"

    compress.firstChunk = true
    compress.lastChunk = false

    let bdCompressed = CkoBinData()!
    let sbUncompressedChunk = CkoStringBuilder()!

    var i: Int
    for i = 0; i <= 24; i++ {
        if i == 24 {
            compress.lastChunk = true
        }

        sbUncompressedChunk.clear()
        sbUncompressedChunk.appendInt(value: i)
        sbUncompressedChunk.append(value: ": This is a line of data to be compressed...\r\n")

        compress.compressSb(sb: sbUncompressedChunk, binData: bdCompressed)

        compress.firstChunk = false
    }

    print("The base64 encoded compressed text:")
    print("\(bdCompressed.getEncoded(encoding: "base64")!)")

    // Decompress in one call:
    var originalText: String? = compress.decompressStringENC(str: bdCompressed.getEncoded(encoding: "base64"))
    print("\(originalText!)")

}