Sample code for 30+ languages & platforms
Swift

MIME Header Q and B Encoding and Decoding

See more Encryption Examples

Demonstrates how to Q and B encode/decode.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    let sb = CkoStringBuilder()!

    sb.append(value: "This is a test")

    print("\(sb.getEncoded(encoding: "B", charset: "utf-8")!)")
    // output is:
    // =?utf-8?B?VGhpcyBpcyBhIHRlc3Q=?=

    print("\(sb.getEncoded(encoding: "Q", charset: "iso-8859-1")!)")
    // output is:
    // =?utf-8?Q?This_is_a_test?=

    let sb2 = CkoStringBuilder()!

    sb2.append(value: "=?utf-8?B?VGhpcyBpcyBhIHRlc3Q=?=")
    sb2.decode(encoding: "B", charset: "utf-8")
    print("\(sb2.getAsString()!)")

    // output is:
    // This is a test

    sb2.clear()
    sb2.append(value: "=?utf-8?Q?This_is_a_test?=")
    sb2.decode(encoding: "Q", charset: "utf-8")
    print("\(sb2.getAsString()!)")

    // output is:
    // This is a test

    // "B" or "Q" will decode both B and Q.
    sb2.clear()
    sb2.append(value: "=?utf-8?Q?This_is_a_test?= 123 =?utf-8?B?VGhpcyBpcyBhIHRlc3Q=?=")
    sb2.decode(encoding: "Q", charset: "utf-8")
    print("\(sb2.getAsString()!)")

    // output is:
    // This is a test 123 This is a test

}