Sample code for 30+ languages & platforms
Ruby

MIME Header Q and B Encoding and Decoding

See more Encryption Examples

Demonstrates how to Q and B encode/decode.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

sb = Chilkat::CkStringBuilder.new()

sb.Append("This is a test")

print sb.getEncoded("B","utf-8") + "\n";
# output is:
# =?utf-8?B?VGhpcyBpcyBhIHRlc3Q=?=

print sb.getEncoded("Q","iso-8859-1") + "\n";
# output is:
# =?utf-8?Q?This_is_a_test?=

sb2 = Chilkat::CkStringBuilder.new()

sb2.Append("=?utf-8?B?VGhpcyBpcyBhIHRlc3Q=?=")
sb2.Decode("B","utf-8")
print sb2.getAsString() + "\n";

# output is:
# This is a test

sb2.Clear()
sb2.Append("=?utf-8?Q?This_is_a_test?=")
sb2.Decode("Q","utf-8")
print sb2.getAsString() + "\n";

# 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")
print sb2.getAsString() + "\n";

# output is:
# This is a test 123 This is a test