C
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
#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);
}