Sample code for 30+ languages & platforms
Java

MIME Header Q and B Encoding and Decoding

See more Encryption Examples

Demonstrates how to Q and B encode/decode.

Chilkat Java Downloads

Java
import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    boolean success = false;

    CkStringBuilder sb = new CkStringBuilder();

    sb.Append("This is a test");

    System.out.println(sb.getEncoded("B","utf-8"));
    // output is:
    // =?utf-8?B?VGhpcyBpcyBhIHRlc3Q=?=

    System.out.println(sb.getEncoded("Q","iso-8859-1"));
    // output is:
    // =?utf-8?Q?This_is_a_test?=

    CkStringBuilder sb2 = new CkStringBuilder();

    sb2.Append("=?utf-8?B?VGhpcyBpcyBhIHRlc3Q=?=");
    sb2.Decode("B","utf-8");
    System.out.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");
    System.out.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");
    System.out.println(sb2.getAsString());

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