C
C
MIME Header Q and B Encoding and Decoding
See more Encryption Examples
Demonstrates how to Q and B encode/decode.Chilkat C Downloads
#include <C_CkStringBuilder.h>
void ChilkatSample(void)
{
BOOL success;
HCkStringBuilder sb;
HCkStringBuilder sb2;
success = FALSE;
sb = CkStringBuilder_Create();
CkStringBuilder_Append(sb,"This is a test");
printf("%s\n",CkStringBuilder_getEncoded(sb,"B","utf-8"));
// output is:
// =?utf-8?B?VGhpcyBpcyBhIHRlc3Q=?=
printf("%s\n",CkStringBuilder_getEncoded(sb,"Q","iso-8859-1"));
// output is:
// =?utf-8?Q?This_is_a_test?=
sb2 = CkStringBuilder_Create();
CkStringBuilder_Append(sb2,"=?utf-8?B?VGhpcyBpcyBhIHRlc3Q=?=");
CkStringBuilder_Decode(sb2,"B","utf-8");
printf("%s\n",CkStringBuilder_getAsString(sb2));
// output is:
// This is a test
CkStringBuilder_Clear(sb2);
CkStringBuilder_Append(sb2,"=?utf-8?Q?This_is_a_test?=");
CkStringBuilder_Decode(sb2,"Q","utf-8");
printf("%s\n",CkStringBuilder_getAsString(sb2));
// output is:
// This is a test
// "B" or "Q" will decode both B and Q.
CkStringBuilder_Clear(sb2);
CkStringBuilder_Append(sb2,"=?utf-8?Q?This_is_a_test?= 123 =?utf-8?B?VGhpcyBpcyBhIHRlc3Q=?=");
CkStringBuilder_Decode(sb2,"Q","utf-8");
printf("%s\n",CkStringBuilder_getAsString(sb2));
// output is:
// This is a test 123 This is a test
CkStringBuilder_Dispose(sb);
CkStringBuilder_Dispose(sb2);
}