AsciiToEbcdic (String function): Difference between revisions
mNo edit summary |
m (→Examples) |
||
(11 intermediate revisions by 3 users not shown) | |||
Line 10: | Line 10: | ||
<tr><th>%outString</th> | <tr><th>%outString</th> | ||
<td>A string variable to receive the method object <var class="term">string</var> translated to EBCDIC.</td></tr> | <td>A string variable to receive the method object <var class="term">string</var> translated to EBCDIC.</td></tr> | ||
<tr><th>string</th> | <tr><th>string</th> | ||
<td>The input string, which is presumed to consist of ASCII characters.</td></tr> | <td>The input string, which is presumed to consist of ASCII characters.</td></tr> | ||
<tr><th><var>CharacterEncode</var></th> | <tr><th><var>CharacterEncode</var></th> | ||
<td>The optional, [[ | <td>The optional, [[Notation conventions for methods#Named parameters|name required]], <var>CharacterEncode</var> argument is a <var>[[Boolean enumeration]]</var>. If its value is: | ||
<ul> | <ul> | ||
<li>< | <li><var>False</var>, the default, an exception is thrown if the input <var class="term">string</var> contains any ASCII character not translatable to EBCDIC. | ||
<li>< | |||
<li>For instance, the six characters <code>&#x90;</code> replace the ASCII | <li><var>True</var>, any ASCII character not translatable to EBCDIC is replaced with the XML style hexadecimal character reference of the character, and the ampersand character is replaced with <code>'&amp;'</code>. | ||
</ul></td></tr> | |||
<li>For instance, the six characters <code>&#x90;</code> replace the ASCII "Device Control String" character (X'90'). A similar example is shown below. | |||
</ul> | |||
</td></tr> | |||
</table> | </table> | ||
Line 44: | Line 49: | ||
The result is: | The result is: | ||
<p class="output">1 | <p class="output">1 | ||
1& | 1&#x81;2 | ||
CANCELLING REQUEST: MSIR.0751: Class STRING, function ASCIITOEBCDIC: | CANCELLING REQUEST: MSIR.0751: Class STRING, function ASCIITOEBCDIC: CHARACTERTRANSLATIONEXCEPTION exception: ASCII character X'81' without valid translation to EBCDIC at byte position 1 ... | ||
</p> | </p> | ||
Latest revision as of 20:46, 15 February 2014
Convert ASCII string to EBCDIC (String class)
AsciiToEbcdic is an intrinsic function that converts an ASCII (ISO-8859-1) string to EBCDIC using the current Unicode tables. Optionally, untranslatable characters are represented with character references.
Syntax
%outString = string:AsciiToEbcdic[( [CharacterEncode= boolean])] Throws CharacterTranslationException
Syntax terms
%outString | A string variable to receive the method object string translated to EBCDIC. |
---|---|
string | The input string, which is presumed to consist of ASCII characters. |
CharacterEncode | The optional, name required, CharacterEncode argument is a Boolean enumeration. If its value is:
|
Exceptions
AsciiToEbcdic 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
- More information is available about the Unicode tables.
- The AsciiToEbcdic function is available as of Sirius Mods version 7.3.
Examples
The following fragment shows calls of AsciiToEbcdic against strings with and without non-translatable characters.
%a string Len 20 %a = '31':X Print %a:AsciiToEbcdic %a = '318132':X Print %a:AsciiToEbcdic(CharacterEncode=True) Print %a:AsciiToEbcdic
The result is:
1 12 CANCELLING REQUEST: MSIR.0751: Class STRING, function ASCIITOEBCDIC: CHARACTERTRANSLATIONEXCEPTION exception: ASCII character X'81' without valid translation to EBCDIC at byte position 1 ...
See also
- The inverse of the AsciiToEbcdic method is EbcdicToAscii.