UnicodeToUtf8 (Unicode function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
mNo edit summary
Line 41: Line 41:
===Usage Notes===
===Usage Notes===
<ul>
<ul>
<li>For more information about UTF-8 conversions, see [[??]] refid=utf816.
<li>For more information about UTF-8 conversions, see [[Unicode#UTF-8 and UTF-16]].
<li>The UnicodeToUtf16 method (described ??[[UnicodeToUtf16 (Unicode function)|UnicodeToUtf16]])
<li>The [[UnicodeToUtf16 (Unicode function)|UnicodeToUtf16]] method
converts a Unicode string to UTF-16.
converts a Unicode string to UTF-16.
<li>The Utf8ToUnicode method (described ??[[Utf8ToUnicode (String function)|Utf8ToUnicode]])
<li>The [[Utf8ToUnicode (String function)|Utf8ToUnicode]] method
converts a UTF-8 Longstring byte stream to Unicode.
converts a UTF-8 Longstring byte stream to Unicode.
</ul>
</ul>
Line 54: Line 54:
the hex values of characters that do not have displayable EBCDIC equivalents.
the hex values of characters that do not have displayable EBCDIC equivalents.


The <tt>U</tt> constant function used in the example is described
The [[U (String function)|U constant function]] and [[StringToHex (String function)|StringToHex]] function
??[[U (String function)|U]]; and StringToHex is ??[[StringToHex (String function)|StringToHex]].
are used in the example.
<pre>
<pre>
     %u Unicode Initial('&amp;#xB2;':U)
     %u Unicode Initial('&amp;#xB2;':U)

Revision as of 22:04, 21 December 2010

Unicode string converted to UTF-8 byte stream

This function converts a Unicode string to a UTF-8 Longstring byte stream.

The UnicodeToUtf8 function is available as of version 7.3 of the Sirius Mods.

Syntax

  %utf8Stream = unicode:UnicodeToUtf8([InsertBOM=bool])])
%utf8Stream
A String or Longstring variable to receive the method object string translated to a UTF-8 byte stream.
unicode
A Unicode string.
InsertBOM=bool
The optional (name required) InsertBOM argument is a Boolean:
  • If its value is True, the “Byte Order Mark” (U+FEFF, encoded as X'EFBBBF') is inserted at the start of the output stream.
  • If its value is False, the default, no Byte Order Mark is inserted.

Exceptions

This function can throw the following exception:

CharacterTranslationException
If the method encounters a translation problem, properties of the exception object may indicate the location and type of problem. See CharacterTranslationException exception class.

Usage Notes

Examples

In the following fragment, UnicodeToUtf8 is used to show how the Unicode U+B2 character (superscript 2) is represented in UTF-8. Appending the StringToHex method is useful for viewing the hex values of characters that do not have displayable EBCDIC equivalents.

The U constant function and StringToHex function are used in the example.

    %u Unicode Initial('&#xB2;':U)
    Print %u:UnicodeToUtf8:StringToHex

The result is:

    C2B2