Sample code for 30+ languages & platforms
Swift

Compress and Decompress a String

See more Compression Examples

Demonstrates how to compress and decompress a string.

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 sb = CkoStringBuilder()!

    var i: Int
    for i = 1; i <= 20; i++ {
        sb.append(value: "This is the original uncompressed string.\r\n")
    }

    let compress = CkoCompression()!
    compress.algorithm = "deflate"
    // Indicate that the utf-8 byte representation of the string should be compressed.
    compress.charset = "utf-8"

    var compressedBytes: NSData
    compressedBytes = compress.compressString(str: sb.getAsString())

    // If the compressed data is desired in string format, then get the base64 representation of the bytes.
    compress.encodingMode = "base64"
    var compressedBase64: String? = compress.compressStringENC(str: sb.getAsString())
    print("Compressed Bytes as Base64: \(compressedBase64!)")

    // Now decompress...
    var decompressedString: String? = compress.decompressString(bData: compressedBytes)
    print("The original string after decompressing from binary compressed data:")
    print("\(decompressedString!)")

    // To decompress from Base64...
    compress.encodingMode = "base64"
    decompressedString = compress.decompressStringENC(str: compressedBase64)
    print("The original string after decompressing from Base64:")
    print("\(decompressedString!)")

}