Sample code for 30+ languages & platforms
Go

MIME Header Q and B Encoding and Decoding

See more Encryption Examples

Demonstrates how to Q and B encode/decode.

Chilkat Go Downloads

Go
    success := false

    sb := chilkat.NewStringBuilder()

    sb.Append("This is a test")

    fmt.Println(*sb.GetEncoded("B","utf-8"))
    // output is:
    // =?utf-8?B?VGhpcyBpcyBhIHRlc3Q=?=

    fmt.Println(*sb.GetEncoded("Q","iso-8859-1"))
    // output is:
    // =?utf-8?Q?This_is_a_test?=

    sb2 := chilkat.NewStringBuilder()

    sb2.Append("=?utf-8?B?VGhpcyBpcyBhIHRlc3Q=?=")
    sb2.Decode("B","utf-8")
    fmt.Println(*sb2.GetAsString())

    // output is:
    // This is a test

    sb2.Clear()
    sb2.Append("=?utf-8?Q?This_is_a_test?=")
    sb2.Decode("Q","utf-8")
    fmt.Println(*sb2.GetAsString())

    // output is:
    // This is a test

    // "B" or "Q" will decode both B and Q.
    sb2.Clear()
    sb2.Append("=?utf-8?Q?This_is_a_test?= 123 =?utf-8?B?VGhpcyBpcyBhIHRlc3Q=?=")
    sb2.Decode("Q","utf-8")
    fmt.Println(*sb2.GetAsString())

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

    sb.DisposeStringBuilder()
    sb2.DisposeStringBuilder()