Sample code for 30+ languages & platforms
Swift

Ascii85 Encoding and Decoding

See more Encryption Examples

Demonstrates ascii85 encoding and decoding.

Note: Requires Chilkat v9.5.0.79 or greater.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    // First demonstrate encoding strings to ascii85 and back.
    let sb = CkoStringBuilder()!

    success = sb.append(value: "Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure.")

    var encodedAscii85: String? = sb.getEncoded(encoding: "ascii85", charset: "utf-8")
    print("\(encodedAscii85!)")

    // Result is: 9jqo^BlbD-BleB1DJ+*+F(f,q/0JhKF<GL>Cj@.4 ... DII?(E,9)oF*2M7/c

    // Decode back to the original:
    sb.clear()
    sb.append(value: encodedAscii85)
    success = sb.decode(encoding: "ascii85", charset: "utf-8")
    print("Original:")
    print("\(sb.getAsString()!)")

    // ---- Now encode binary data to ascii85 ----
    let bd = CkoBinData()!
    success = bd.loadFile(path: "qa_data/jpg/starfish20.jpg")
    encodedAscii85 = bd.getEncoded(encoding: "ascii85")
    print("\(encodedAscii85!)")

    // Result is:  s4IA0!"_al8O`[\!<E0k!([(is8E!F7VQ[M+Eqj?FED)3+C]U=6"Fn ...

    // Decode...
    bd.clear()
    bd.appendEncoded(encData: encodedAscii85, encoding: "ascii85")
    success = bd.writeFile(path: "qa_output/starfish20.jpg")

}