Sample code for 30+ languages & platforms
C

Decode from Binary Encoding and Append String

Demonstrates how to decode from a binary encoding (base64, hex, url, etc.) and then append the decoded string to a Chilkat StringBuilder object.

Note: This example uses the new DecodeAndAppend method added in Chilkat v9.5.0.87.

Chilkat C Downloads

C
#include <C_CkStringBuilder.h>

void ChilkatSample(void)
    {
    BOOL success;
    const char *nameWindows1252UrlEncoded;
    const char *nameUtf8UrlEncoded;
    HCkStringBuilder sb1;
    HCkStringBuilder sb2;
    BOOL bEqual;

    success = FALSE;

    //  We have the string "MÆRSK" in two forms:

    //  This is the URL encoding of the windows-1252 representation.
    nameWindows1252UrlEncoded = "M%C6RSK";

    //  This is the URL encoding of the utf-8 representation.
    nameUtf8UrlEncoded = "M%C3%86RSK";

    //  Note that the result of loading a string into a string object 
    //  is the same if we correctly specify the underlying charset encoding.
    //  In the above example, we have the same string, but in different charset encodings
    //  subsequently URL encoded.
    sb1 = CkStringBuilder_Create();
    success = CkStringBuilder_DecodeAndAppend(sb1,nameWindows1252UrlEncoded,"url","windows-1252");

    sb2 = CkStringBuilder_Create();
    success = CkStringBuilder_DecodeAndAppend(sb2,nameUtf8UrlEncoded,"url","utf-8");

    //  sb1 and sb2 both hold the same string.
    bEqual = CkStringBuilder_ContentsEqualSb(sb1,sb2,TRUE);
    printf("bEqual = %d\n",bEqual);

    //  We can see the string is "MÆRSK" in both cases.
    printf("%s\n",CkStringBuilder_getAsString(sb1));
    printf("%s\n",CkStringBuilder_getAsString(sb2));


    CkStringBuilder_Dispose(sb1);
    CkStringBuilder_Dispose(sb2);

    }