TextEncode
InputText |
Required text. The information to be encoded. |
ErrMsgOut |
Optional return parameter. If provided, this will be set to a text representation of the error. |
InputCharacterSet |
Optional text. The IANA character set name to use. Defaults to the character set given by the local system code page. |
OutputCharacterSet |
Optional text. The IANA character set name to use for output. Defaults to "UTF-8". |
Comments: |
The return value will be the input string encoded as UTF-8, unless there are any sequences of bytes in the input string that cannot be represented as UTF-8, in which case the return value will be invalid. If converting from ISO-8859-1 to UTF-8, you must make two conversions: first from ISO-8859-1 to UTF-16, then from UTF-16 to UTF-8. The intermediate step may also be required for other conversions to UTF-8. |
Examples:
< {=========================== TextEncodeTest =============================} { Example code to demonstrate TextEncode(). } {========================================================================} TextEncodeTest [ Protected Input { Input string in local code page }; Protected UTF8Result { Input encoded as UTF-8 }; ] Main [ If Watch(1); [ Input = "This is a string in Windows-1252 encoding with symbols: £©"; UTF8Result = TextEncode(Input); ] ] { End of TextEncodeTest } >
If the system code page is configured as Windows-1252 by selecting "English (United States)" as per Using a Non-English Character Set, the UTF-8 result would contain "£" encoded as the bytes [0xC2, 0xA3] and "©" as [0xC2, 0xA9].
Example 2
(showing only the call to TextEncode)
{ Convert text encoded as utf-8 to utf-16 big-endian } utf16result = TextEncode(Input, ErrorMessage, "UTF-8", "UTF-16BE");