EbcdicToAscii (String function): Difference between revisions
m (→Exceptions) |
m (re-match syntax diagram to revised template; fix tags. Still some link targets that need to be found / written.) |
||
Line 7: | Line 7: | ||
===Syntax terms=== | ===Syntax terms=== | ||
<table class="syntaxTable"> | <table class="syntaxTable"> | ||
<tr><th>% | <tr><th>%outString</th> | ||
<td>A string variable to receive the method object <var class="term">string</var> translated to Ascii.</td></tr> | <td>A string variable to receive the method object <var class="term">string</var> translated to Ascii.</td></tr> | ||
<tr><th | <tr><th>string</th> | ||
<td>An EBCDIC character string.</td></tr> | <td>An EBCDIC character string.</td></tr> | ||
<tr><th | <tr><th>CharacterDecode</th> | ||
<td>The optional (name required) <var class="term">CharacterDecode</var> argument is a [[Boolean enumeration]]: | <td>The optional (name required) <var class="term">CharacterDecode</var> argument is a [[Boolean enumeration]]: | ||
<ul><li>If its value is <code>True</code>, an ampersand (<code>&</code>) in the input EBCDIC string is allowed <b><i>only</i></b> as the beginning of one of these types of character or entity reference:<ul><li>The substring ''''&amp;''''. This substring is converted to a single ''''&'''' character.<li>A hexadecimal character reference (for example, the six characters <code>'&#x90;'</code> for the ASCII <i>Device Control String</i> character (X'90')). The character reference is converted to the referenced character.<li>As of <var class=product>Sirius Mods</var> version 7.6, an XHTML entity reference (for example, the six characters <code>'&copy;'</code> for the <i>copyright</i> character <code>'©'</code>). The entity reference is converted to the referenced character.</ul><p>A decimal character reference (for example, &#172;) is <b><i>not</i></b> allowed.</p><li>If its value is <code>False</code>, the default, an ampersand is treated only as a normal character.</ul></td></tr> | <ul><li>If its value is <code>True</code>, an ampersand (<code>&</code>) in the input EBCDIC string is allowed <b><i>only</i></b> as the beginning of one of these types of character or entity reference:<ul><li>The substring ''''&amp;''''. This substring is converted to a single ''''&'''' character.<li>A hexadecimal character reference (for example, the six characters <code>'&#x90;'</code> for the ASCII <i>Device Control String</i> character (X'90')). The character reference is converted to the referenced character.<li>As of <var class=product>Sirius Mods</var> version 7.6, an XHTML entity reference (for example, the six characters <code>'&copy;'</code> for the <i>copyright</i> character <code>'©'</code>). The entity reference is converted to the referenced character.</ul><p>A decimal character reference (for example, &#172;) is <b><i>not</i></b> allowed.</p><li>If its value is <code>False</code>, the default, an ampersand is treated only as a normal character.</ul></td></tr> |
Revision as of 02:53, 2 February 2011
Convert EBCDIC string to ASCII (String class)
EbcdicToAscii is an intrinsic function that converts an EBCDIC string to ASCII (ISO 8859-1) using the current Unicode tables. Optionally, character references, entity references, and '&'
references are converted to the represented ASCII character.
Syntax
%outString = string:EbcdicToAscii[( [CharacterDecode= boolean])] Throws CharacterTranslationException
Syntax terms
%outString | A string variable to receive the method object string translated to Ascii. |
---|---|
string | An EBCDIC character string. |
CharacterDecode | The optional (name required) CharacterDecode argument is a Boolean enumeration:
|
Exceptions
EbcdicToAscii 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
- EbcdicToAscii is available as of Sirius Mods version 7.3.
Examples
- The following fragment shows calls of EbcdicToAscii against a variety of EBCDIC characters.
The X constant function is used in the example.
%e string Len 20 %a string Len 20 %e = '12' %a = %e:EbcdicToAscii Print %a:StringToHex %e = '1
2' %a = %e:EbcdicToAscii(CharacterDecode=True) Print %a:StringToHex %e = '©' %a = %e:EbcdicToAscii(CharacterDecode=True) Print %a:StringToHex %e = 'F1FFF2':X %a = %e:EbcdicToAscii
The result is:
3132 310A32 A9 CANCELLING REQUEST: MSIR.0751: Class STRING, function EBCDICTOASCII: CHARACTER TRANSLATIONEXCEPTION exception: EBCDIC character X'FF' without valid translation to ASCII at byte position 2 ...
See also
- You can find the list of XHTML entities on the Internet at the following URL:
- There is more information about the Unicode tables.
- The inverse of the EbcdicToAscii method is AsciiToEbcdic.