Utf16ToUnicode (String function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
Line 11: Line 11:
<td>A string that is presumed to contain a UTF-16 byte stream.</td></tr>
<td>A string that is presumed to contain a UTF-16 byte stream.</td></tr>
<tr><th><var>AllowUntranslatable</var></th>
<tr><th><var>AllowUntranslatable</var></th>
<td><var>AllowUntranslatable</var> is an optional, but [[Methods#Named parameters|name required]], parameter that is a [[Enumerations#Using_Boolean_enumerations|"Boolean Enumeration"]] value that specifies .... [[??]] must fix this</td></tr>
<td>This argument is usable only by Sirius Software.</td></tr>
<tr><th><var>BOM</var></th>
<td>This argument is usable only by Sirius Software.</td></tr>
 
</table>
</table>



Revision as of 21:17, 23 May 2011

Convert a UTF-16 Longstring bytestream to Unicode (String class)

The Utf16ToUnicode intrinsic function converts a UTF-16 Longstring byte stream to Unicode.

Syntax

%unicode = string:Utf16ToUnicode[( [AllowUntranslatable= boolean], - [Bom= utf16BOM])] Throws CharacterTranslationException

Syntax terms

%unicode A string variable to receive the method object string translated to Unicode.
string A string that is presumed to contain a UTF-16 byte stream.
AllowUntranslatable This argument is usable only by Sirius Software.
BOM This argument is usable only by Sirius Software.

Exceptions

Utf16ToUnicode 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.

Usage notes

  • The input UTF-16 stream may contain a Byte Order Mark (U+FEFF).
    • If one is present, that controls the conversion from UTF-16 to Unicode.
    • If a Byte Order Mark is not present, the input stream is considered to be a Big Endian stream, that is, it is the same as if the stream were preceded by the two bytes X'FE' and X'FF', in that order.
  • The Utf16ToUnicode function is available as of Sirius Mods Version 7.3.

Examples

In the following fragment, Utf16ToUnicode converts a hexadecimal input to a single Unicode character.

%u unicode %u = '0032':X:Utf16ToUnicode print %u

The result is:

2

See also