(PureBasic) StringBuilder Encode Charset
Demonstrates the importance of the charset argument when encoding/decoding.
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
|