Unicode C
Unicode C
StringBuilder Encode Charset
Demonstrates the importance of the charset argument when encoding/decoding.Chilkat Unicode C Downloads
#include <C_CkStringBuilderW.h>
void ChilkatSample(void)
{
const wchar_t *s;
HCkStringBuilderW sb;
s = L"é é é";
sb = CkStringBuilderW_Create();
CkStringBuilderW_Append(sb,s);
CkStringBuilderW_EntityDecode(sb);
// The string now contains: "é é é"
wprintf(L"%s\n",CkStringBuilderW_getAsString(sb));
// If encoded to hex using the iso-8859-1 charset,
// each é char is represented in 1 byte.
// Output: E920E920E9
wprintf(L"%s\n",CkStringBuilderW_getEncoded(sb,L"hex",L"iso-8859-1"));
// If encoded to hex using the utf-8 charset,
// each é char is represented in 2 bytes.
// Output: C3A920C3A920C3A9
wprintf(L"%s\n",CkStringBuilderW_getEncoded(sb,L"hex",L"utf-8"));
// Here's utf-16
// Output: E9002000E9002000E900
wprintf(L"%s\n",CkStringBuilderW_getEncoded(sb,L"hex",L"utf-16"));
// utf-32
// Output: E900000020000000E900000020000000E9000000
wprintf(L"%s\n",CkStringBuilderW_getEncoded(sb,L"hex",L"utf-32"));
CkStringBuilderW_Dispose(sb);
}