C
C
StringBuilder Encode Charset
Demonstrates the importance of the charset argument when encoding/decoding.Chilkat C Downloads
#include <C_CkStringBuilder.h>
void ChilkatSample(void)
{
const char *s;
HCkStringBuilder sb;
s = "é é é";
sb = CkStringBuilder_Create();
CkStringBuilder_Append(sb,s);
CkStringBuilder_EntityDecode(sb);
// The string now contains: "é é é"
printf("%s\n",CkStringBuilder_getAsString(sb));
// If encoded to hex using the iso-8859-1 charset,
// each é char is represented in 1 byte.
// Output: E920E920E9
printf("%s\n",CkStringBuilder_getEncoded(sb,"hex","iso-8859-1"));
// If encoded to hex using the utf-8 charset,
// each é char is represented in 2 bytes.
// Output: C3A920C3A920C3A9
printf("%s\n",CkStringBuilder_getEncoded(sb,"hex","utf-8"));
// Here's utf-16
// Output: E9002000E9002000E900
printf("%s\n",CkStringBuilder_getEncoded(sb,"hex","utf-16"));
// utf-32
// Output: E900000020000000E900000020000000E9000000
printf("%s\n",CkStringBuilder_getEncoded(sb,"hex","utf-32"));
CkStringBuilder_Dispose(sb);
}