Sample code for 30+ languages & platforms
DataFlex

StringBuilder Encode Charset

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

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    String s
    Handle hoSb
    Boolean iSuccess
    String sTemp1

    Move "é é é" To s

    Get Create (RefClass(cComChilkatStringBuilder)) To hoSb
    If (Not(IsComObjectCreated(hoSb))) Begin
        Send CreateComObject of hoSb
    End

    Get ComAppend Of hoSb s To iSuccess
    Get ComEntityDecode Of hoSb To iSuccess

    // The string now contains: "é é é"
    Get ComGetAsString Of hoSb To sTemp1
    Showln sTemp1

    // If encoded to hex using the iso-8859-1 charset, 
    // each é char is represented in 1 byte.
    // Output: E920E920E9
    Get ComGetEncoded Of hoSb "hex" "iso-8859-1" To sTemp1
    Showln sTemp1

    // If encoded to hex using the utf-8 charset, 
    // each é char is represented in 2 bytes.
    // Output: C3A920C3A920C3A9
    Get ComGetEncoded Of hoSb "hex" "utf-8" To sTemp1
    Showln sTemp1

    // Here's utf-16
    // Output: E9002000E9002000E900
    Get ComGetEncoded Of hoSb "hex" "utf-16" To sTemp1
    Showln sTemp1

    // utf-32
    // Output: E900000020000000E900000020000000E9000000
    Get ComGetEncoded Of hoSb "hex" "utf-32" To sTemp1
    Showln sTemp1


End_Procedure