UnicodeToUtf8 (Unicode function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
m (1 revision)
Line 13: Line 13:
{{Template:Unicode:UnicodeToUtf8 syntax}}
{{Template:Unicode:UnicodeToUtf8 syntax}}
===Syntax terms===
===Syntax terms===
<dl>
<table class="syntaxTable">
<dt><i>%utf8Stream</i>
<tr><th><i>%utf8Stream</i> </th>
<dd>A String or Longstring variable to receive the method object string
<td>A String or Longstring variable to receive the method object string translated to a UTF-8 byte stream. </td></tr>
translated to a UTF-8 byte stream.
<tr><th><i>unicode</i> </th>
<dt><i>unicode</i>
<td>A Unicode string. </td></tr>
<dd>A Unicode string.
<tr><th><b>InsertBOM=</b><i>bool</i> </th>
<dt><b>InsertBOM=</b><i>bool</i>
<td>The optional (name required) InsertBOM argument is a Boolean: <ul> <li>If its value is <tt>True</tt>, the "Byte Order Mark" (U+FEFF, encoded as X'EFBBBF') is inserted at the start of the output stream. <li>If its value is <tt>False</tt>, the default, no Byte Order Mark is inserted. </ul></td></tr>
<dd>The optional (name required) InsertBOM argument is a Boolean:
</table>
<ul>
<li>If its value is <tt>True</tt>, the "Byte Order
Mark" (U+FEFF, encoded as X'EFBBBF') is inserted at the start of the output
stream.
<li>If its value is <tt>False</tt>, the default,
no Byte Order Mark is inserted.
</ul>
 
</dl>
===Exceptions===
===Exceptions===



Revision as of 04:34, 19 January 2011

Translate to UTF-8 (Unicode class)

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

%string = unicode:UnicodeToUtf8[( [InsertBOM= boolean])]

Syntax terms

%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