Sample code for 30+ languages & platforms
PureBasic

StringBuilder Encode Charset

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

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkStringBuilder.pb"

Procedure ChilkatExample()

    s.s = "é é é"

    sb.i = CkStringBuilder::ckCreate()
    If sb.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkStringBuilder::ckAppend(sb,s)
    CkStringBuilder::ckEntityDecode(sb)

    ; The string now contains: "é é é"
    Debug CkStringBuilder::ckGetAsString(sb)

    ; If encoded to hex using the iso-8859-1 charset, 
    ; each é char is represented in 1 byte.
    ; Output: E920E920E9
    Debug CkStringBuilder::ckGetEncoded(sb,"hex","iso-8859-1")

    ; If encoded to hex using the utf-8 charset, 
    ; each é char is represented in 2 bytes.
    ; Output: C3A920C3A920C3A9
    Debug CkStringBuilder::ckGetEncoded(sb,"hex","utf-8")

    ; Here's utf-16
    ; Output: E9002000E9002000E900
    Debug CkStringBuilder::ckGetEncoded(sb,"hex","utf-16")

    ; utf-32
    ; Output: E900000020000000E900000020000000E9000000
    Debug CkStringBuilder::ckGetEncoded(sb,"hex","utf-32")


    CkStringBuilder::ckDispose(sb)


    ProcedureReturn
EndProcedure