DataFlex
DataFlex
StringBuilder Encode Charset
Demonstrates the importance of the charset argument when encoding/decoding.Chilkat DataFlex Downloads
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