Sample code for 30+ languages & platforms
Swift

UN/EDIFACT Syntax Level A Encoding/Decoding

See more Encryption Examples

Demonstrates the new "eda" encoding that can be used throughout Chilkat starting in v9.5.0.65.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    // Note: Requires Chilkat v9.5.0.65 or greater.

    let sb = CkoStringBuilder()!
    sb.append(value: "The 5 men of 223rd St")
    print("\(sb.getAsString()!)")

    // Encode the utf-8 byte representation of the string in the 
    // UN/EDIFACT syntax level A character set.
    sb.encode(encoding: "eda", charset: "utf-8")
    print("\(sb.getAsString()!)")

    // EDA Output should be: BTME027FCF6CFARFI94JT6.)F(14KJ2U

    // Decode back to the original string.
    sb.decode(encoding: "eda", charset: "utf-8")
    print("\(sb.getAsString()!)")
    print("----")

    // The following requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    // The "eda" encoding can be used anywhere within Chilkat.
    // For example, with the Crypt2 API
    let crypt = CkoCrypt2()!
    crypt.cryptAlgorithm = "aes"
    crypt.cipherMode = "cbc"
    crypt.keyLength = 256
    crypt.encodingMode = "eda"

    var ivHex: String? = "000102030405060708090A0B0C0D0E0F"
    crypt.setEncodedIV(ivStr: ivHex, encoding: "hex")
    var keyHex: String? = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F"
    crypt.setEncodedKey(keyStr: keyHex, encoding: "hex")

    var encStr: String? = crypt.encryptStringENC(str: "The quick brown fox jumps over the lazy dog.")
    // The output is UN/EDIFACT syntax level A 
    print("\(encStr!)")

    // Now decrypt:
    var decStr: String? = crypt.decryptStringENC(str: encStr)
    print("\(decStr!)")

}