Sample code for 30+ languages & platforms
Unicode C++

StringBuilder Encode Charset

Demonstrates the importance of the charset argument when encoding/decoding.

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkStringBuilderW.h>

void ChilkatSample(void)
    {
    const wchar_t *s = L"&eacute; &#233; &#xE9;";

    CkStringBuilderW sb;

    sb.Append(s);
    sb.EntityDecode();

    //  The string now contains: "é é é"
    wprintf(L"%s\n",sb.getAsString());

    //  If encoded to hex using the iso-8859-1 charset, 
    //  each é char is represented in 1 byte.
    //  Output: E920E920E9
    wprintf(L"%s\n",sb.getEncoded(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",sb.getEncoded(L"hex",L"utf-8"));

    //  Here's utf-16
    //  Output: E9002000E9002000E900
    wprintf(L"%s\n",sb.getEncoded(L"hex",L"utf-16"));

    //  utf-32
    //  Output: E900000020000000E900000020000000E9000000
    wprintf(L"%s\n",sb.getEncoded(L"hex",L"utf-32"));
    }