EbcdicToAscii (String function): Difference between revisions
mNo edit summary |
m (→Examples) |
||
(42 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{Template:String:EbcdicToAscii subtitle}} | {{Template:String:EbcdicToAscii subtitle}} | ||
<var>EbcdicToAscii</var> is an [[Intrinsic classes|intrinsic]] function that converts an EBCDIC string to ASCII (ISO 8859-1) using the current [[Unicode#Support for the ASCII subset of Unicode|Unicode tables]]. Optionally, character references, entity references, and individual ampersand (<tt>&</tt>) references are converted to the represented ASCII character. | |||
using the current Unicode tables. | |||
Optionally, character references, entity references, and | |||
==Syntax== | ==Syntax== | ||
{{Template:String:EbcdicToAscii syntax}} | {{Template:String:EbcdicToAscii syntax}} | ||
===Syntax terms=== | ===Syntax terms=== | ||
< | <table class="syntaxTable"> | ||
< | <tr><th>%outString</th> | ||
< | <td>A string variable to receive the method object, <var class="term">string</var>, translated to Ascii.</td></tr> | ||
< | |||
< | <tr><th>string</th> | ||
< | <td>An EBCDIC character string.</td></tr> | ||
< | |||
<tr><th><var>CharacterDecode</var></th> | |||
<td>The optional (name required) <var>CharacterDecode</var> argument is a <var>[[Boolean enumeration|Boolean]]</var> enumeration: | |||
<ul> | |||
<li>If its value is <code>True</code>, an ampersand (<tt>&</tt>) 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 <code>&amp;</code>. This substring is converted to a single <code>&</code> character. | |||
</ | |||
<li>A hexadecimal character reference (for example, the six characters <code>'&#x90;'</code> for the ASCII "Device Control String" character (X'90')). The character reference is converted to the referenced character. | |||
<dl> | <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. | ||
<dt>[[CharacterTranslationException]] | </ul> | ||
<dd>If the method encounters a translation problem, | <p> | ||
properties of the exception object may indicate the location and type of problem. | A decimal character reference (for example, <code>&#172;</code>) 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. | ||
</dl> | </ul></td></tr> | ||
</table> | |||
==Exceptions== | |||
<var>EbcdicToAscii</var> can throw the following exception: | |||
<dl> | |||
<dt><var>[[CharacterTranslationException class|CharacterTranslationException]]</var> | |||
<dd>If the method encounters a translation problem, properties of the exception object may indicate the location and type of problem. | |||
</dl> | |||
==Usage notes== | ==Usage notes== | ||
<ul> | |||
<li><var>EbcdicToAscii</var> is available as of <var class="product">Sirius Mods</var> version 7.3. | |||
</ul> | |||
==Examples== | ==Examples== | ||
The following fragment shows calls of EbcdicToAscii against a variety of EBCDIC characters. | The following fragment shows calls of <var>EbcdicToAscii</var> against a variety of EBCDIC characters. | ||
The [[X (String function)|X]] constant function is used in the example. | The [[X (String function)|X]] constant function is used in the example. | ||
<p class="code">%e string Len 20 | |||
%a string Len 20 | |||
%e = '12' | |||
%a = %e:EbcdicToAscii | |||
Print %a:StringToHex | |||
%e = '1&#x0A;2' | |||
%a = %e:EbcdicToAscii(CharacterDecode=True) | |||
Print %a:StringToHex | |||
%e = '&copy;' | |||
%a = %e:EbcdicToAscii(CharacterDecode=True) | |||
Print %a:StringToHex | |||
%e = 'F1FFF2':X | |||
%a = %e:EbcdicToAscii | |||
= | </p> | ||
The result is: | |||
<p class="output">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 ... | |||
</p> | |||
[[ | ==See also== | ||
[[ | <ul><li>You can find the list of XHTML entities on the Internet at the following URL: | ||
<p class="code">http://www.w3.org/TR/xhtml1/dtds.html#h-A2 | |||
</p> | |||
<li>There is more information about the [[Unicode#Support_for_the_ASCII_subset_of_Unicode|Unicode tables]]. | |||
<li>The inverse of the <var>EbcdicToAscii</var> method is <var>[[AsciiToEbcdic (String function)|AsciiToEbcdic]]</var>. | |||
</ul> | |||
{{Template:String:EbcdicToAscii footer}} |
Latest revision as of 19:13, 6 November 2012
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 individual ampersand (&) 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.