Sample code for 30+ languages & platforms
DataFlex

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 DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    String sNameWindows1252UrlEncoded
    String sNameUtf8UrlEncoded
    Handle hoSb1
    Variant vSb2
    Handle hoSb2
    Boolean iBEqual
    String sTemp1

    Move False To iSuccess

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

    // This is the URL encoding of the windows-1252 representation.
    Move "M%C6RSK" To sNameWindows1252UrlEncoded

    // This is the URL encoding of the utf-8 representation.
    Move "M%C3%86RSK" To sNameUtf8UrlEncoded

    // 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.
    Get Create (RefClass(cComChilkatStringBuilder)) To hoSb1
    If (Not(IsComObjectCreated(hoSb1))) Begin
        Send CreateComObject of hoSb1
    End
    Get ComDecodeAndAppend Of hoSb1 sNameWindows1252UrlEncoded "url" "windows-1252" To iSuccess

    Get Create (RefClass(cComChilkatStringBuilder)) To hoSb2
    If (Not(IsComObjectCreated(hoSb2))) Begin
        Send CreateComObject of hoSb2
    End
    Get ComDecodeAndAppend Of hoSb2 sNameUtf8UrlEncoded "url" "utf-8" To iSuccess

    // sb1 and sb2 both hold the same string.
    Get pvComObject of hoSb2 to vSb2
    Get ComContentsEqualSb Of hoSb1 vSb2 True To iBEqual
    Showln "bEqual = " iBEqual

    // We can see the string is "MÆRSK" in both cases.
    Get ComGetAsString Of hoSb1 To sTemp1
    Showln sTemp1
    Get ComGetAsString Of hoSb2 To sTemp1
    Showln sTemp1


End_Procedure