UnicodeToEbcdic (Unicode function): Difference between revisions
m (1 revision) |
m (1 revision) |
(No difference)
|
Revision as of 14:53, 19 January 2011
Translate to Ebcdic (Unicode class)
This function converts a Unicode string to EBCDIC. As an option, untranslatable characters can be represented with XML style hexadecimal character references.
The UnicodeToEbcdic function is available as of version 7.3 of the Sirius Mods.
Syntax
%string = unicode:UnicodeToEbcdic[( [CharacterEncode= boolean])] Throws CharacterTranslationException
Syntax terms
%ebcdic | A string variable to receive the method object string translated to EBCDIC. |
---|---|
unicode | A Unicode string. |
CharacterEncode=bool | The optional (name required) CharacterEncode argument is a Boolean:
|
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
- Unless the CharacterEncode argument is used, or you want to Catch a CharacterTranslationException, this function is generally not needed, because a Unicode string is implicitly converted to EBCDIC when used in an EBCDIC context. See the example in "Examples," below.
- The EbcdicToUnicode method converts an EBCDIC string to Unicode.
Examples
The following example shows multiple calls of UnicodeToEbcdic. The U constant function is used in the example.
%u Unicode Initial('1':U) Print %u:UnicodeToEbcdic %u = '1€2':U Print %u:UnicodeToEbcdic(CharacterEncode=True) Print %u:UnicodeToEbcdic
The result of the above fragment is:
1 1€2 CANCELLING REQUEST: MSIR.0751: Class STRING, function UNICODETOEBCDIC: CHARACTER TRANSLATIONEXCEPTION exception: Unicode character U+0080 without valid translation to EBCDIC at byte position 5 ...
Note:
Because of the implicit conversion of Unicode strings (in this case to String),
the Print %u:UnicodeToEbcdic statements in the example above could be
replaced by Print %u statements and the results would be the same.