Sample code for 30+ languages & platforms
Unicode C

StringBuilder Encode

Demonstrates the Chilkat StringBuilder Encode method.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkStringBuilderW.h>

void ChilkatSample(void)
    {
    const wchar_t *s;
    HCkStringBuilderW sb;

    s = L"The quick brown fox jumps over the lazy dog";

    sb = CkStringBuilderW_Create();

    CkStringBuilderW_Append(sb,s);

    //  output: The quick brown fox jumps over the lazy dog
    wprintf(L"%s\n",CkStringBuilderW_getAsString(sb));

    CkStringBuilderW_Encode(sb,L"base64",L"utf-8");

    //  output: VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZw==
    wprintf(L"%s\n",CkStringBuilderW_getAsString(sb));

    CkStringBuilderW_Decode(sb,L"base64",L"utf-8");
    //  output: The quick brown fox jumps over the lazy dog
    wprintf(L"%s\n",CkStringBuilderW_getAsString(sb));

    //  Now encode to hex..
    CkStringBuilderW_Encode(sb,L"hex",L"utf-8");
    //  output: 54686520717569636B2062726F776E20666F78206A756D7073206F76657220746865206C617A7920646F67
    wprintf(L"%s\n",CkStringBuilderW_getAsString(sb));

    CkStringBuilderW_Decode(sb,L"hex",L"utf-8");
    //  URL encode
    CkStringBuilderW_Encode(sb,L"url",L"utf-8");
    wprintf(L"%s\n",CkStringBuilderW_getAsString(sb));

    CkStringBuilderW_Decode(sb,L"url",L"utf-8");
    //  base64url
    CkStringBuilderW_Encode(sb,L"base64url",L"utf-8");
    wprintf(L"%s\n",CkStringBuilderW_getAsString(sb));

    //  other possible encodings include modbase64, base32, base58, quoted-printable, url_rfc1738, url_rfc2396, url_rfc3986, and fingerprint


    CkStringBuilderW_Dispose(sb);

    }