EbcdicToAscii (String function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
m (1 revision)
Line 1: Line 1:
{{Template:String:EbcdicToAscii subtitle}}
{{Template:String:EbcdicToAscii subtitle}}


This [[Intrinsic classes|intrinsic]] function converts an EBCDIC string to ASCII (ISO 8859-1)                  
This [[Intrinsic classes|intrinsic]] function converts an EBCDIC string to ASCII (ISO 8859-1)
using the current Unicode tables.                                                                              
using the current Unicode tables.
Optionally, character references, entity references, and ''''&amp.amp;'''' references are converted to the represented ASCII character.                                                                                                      
Optionally, character references, entity references, and ''''&amp.amp;'''' references are converted to the represented ASCII character.
                                                                                                               
 
The EbcdicToAscii function is available as of version 7.3 of the [[Sirius Mods]].  
The EbcdicToAscii function is available as of version 7.3 of the [[Sirius Mods]].
==Syntax==
==Syntax==
{{Template:String:EbcdicToAscii syntax}}
{{Template:String:EbcdicToAscii syntax}}
Line 17: Line 17:
<td>The optional (name required) CharacterDecode argument is a Boolean: *If its value is ''''True'''', an ampersand (&) in the input EBCDIC string is allowed ''only'' as the beginning of one of these types of character or entity reference:                      **The substring ''''&amp;amp;''''. This substring is converted to a single ''''&'''' character. **A hexadecimal character reference (for example, the six characters '&amp;#x90;' for the ASCII ''Device Control String'' control character). The character reference is converted to the referenced character. **As of [[Sirius Mods]] version 7.6, an XHTML entity reference (for example, the six characters '&amp;copy;' for the ''copyright'' character). The entity reference is converted to the referenced character. A decimal character reference (for example, &amp;#172;) is ''not'' allowed.              *If its value is ''''False'''', the default, an ampersand is treated only as a normal character.</td></tr>
<td>The optional (name required) CharacterDecode argument is a Boolean: *If its value is ''''True'''', an ampersand (&) in the input EBCDIC string is allowed ''only'' as the beginning of one of these types of character or entity reference:                      **The substring ''''&amp;amp;''''. This substring is converted to a single ''''&'''' character. **A hexadecimal character reference (for example, the six characters '&amp;#x90;' for the ASCII ''Device Control String'' control character). The character reference is converted to the referenced character. **As of [[Sirius Mods]] version 7.6, an XHTML entity reference (for example, the six characters '&amp;copy;' for the ''copyright'' character). The entity reference is converted to the referenced character. A decimal character reference (for example, &amp;#172;) is ''not'' allowed.              *If its value is ''''False'''', the default, an ampersand is treated only as a normal character.</td></tr>
</table>
</table>
                                                                                             
 
===Exceptions===                                                                                  
===Exceptions===
This [[Intrinsic classes|intrinsic]] function can throw the following exception:                  
This [[Intrinsic classes|intrinsic]] function can throw the following exception:
<dl>                                                                                              
<dl>
<dt>[[CharacterTranslationException]]                                                            
<dt>[[CharacterTranslationException]]
<dd>If the method encounters a translation problem,                                              
<dd>If the method encounters a translation problem,
properties of the exception object may indicate the location and type of problem.                
properties of the exception object may indicate the location and type of problem.
</dl>                                                                                            
</dl>
==Usage notes==
==Usage notes==
*You can find the list of XHTML entities on the Internet at the following URL:                    
*You can find the list of XHTML entities on the Internet at the following URL:
     http://www.w3.org/TR/xhtml1/dtds.html#h-A2                                                    
     http://www.w3.org/TR/xhtml1/dtds.html#h-A2
*There is more information about the [[Unicode tables]].                                          
*There is more information about the [[Unicode tables]].
*The inverse of the EbcdicToAscii method is [[AsciiToEbcdic (String function)|AsciiToEbcdic]].
*The inverse of the EbcdicToAscii method is [[AsciiToEbcdic (String function)|AsciiToEbcdic]].


==Examples==
==Examples==
The following fragment shows calls of EbcdicToAscii against a variety of EBCDIC characters.                                                                            
The following fragment shows calls of EbcdicToAscii 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.
     %e String Len 20                                                                              
     %e String Len 20
     %a String Len 20                                                                              
     %a String Len 20
     %e = '12'                                                                                    
     %e = '12'
     %a = %e:EbcdicToAscii                                                                        
     %a = %e:EbcdicToAscii
     Print %a:StringToHex                                                                          
     Print %a:StringToHex
                                                                                                 
 
     %e = '1&amp;#x0A;2'                                                                              
     %e = '1&amp;#x0A;2'
     %a = %e:EbcdicToAscii(CharacterDecode=True)                                                  
     %a = %e:EbcdicToAscii(CharacterDecode=True)
     Print %a:StringToHex                                                                          
     Print %a:StringToHex
                                                                                                 
 
     %e = '&amp;copy;'
     %e = '&amp;copy;'
     %a = %e:EbcdicToAscii(CharacterDecode=True)          
     %a = %e:EbcdicToAscii(CharacterDecode=True)
     Print %a:StringToHex                                
     Print %a:StringToHex
                                                         
 
     %e = 'F1FFF2':X                                      
     %e = 'F1FFF2':X
     %a = %e:EbcdicToAscii                                
     %a = %e:EbcdicToAscii
                                                         
 
The result is:                                          
The result is:
     3132                                                
     3132
     310A32                                              
     310A32
     A9                                                  
     A9
     CANCELLING REQUEST: MSIR.0751: Class STRING, function  
     CANCELLING REQUEST: MSIR.0751: Class STRING, function
       EBCDICTOASCII: CHARACTER TRANSLATIONEXCEPTION      
       EBCDICTOASCII: CHARACTER TRANSLATIONEXCEPTION
       exception: EBCDIC character X'FF' without valid    
       exception: EBCDIC character X'FF' without valid
       translation to ASCII at byte position 2 ...
       translation to ASCII at byte position 2 ...


===See also===                                                                                        
===See also===
[[List of intrinsic String methods]]
[[List of intrinsic String methods]]


[[Category:Intrinsic String methods|EbcdicToAscii function]]
[[Category:Intrinsic String methods|EbcdicToAscii function]]
[[Category:Intrinsic methods]]
[[Category:Intrinsic methods]]

Revision as of 14:04, 19 January 2011

Convert EBCDIC string to ASCII (String class)


This intrinsic function converts an EBCDIC string to ASCII (ISO 8859-1) using the current Unicode tables. Optionally, character references, entity references, and '&amp.amp;' references are converted to the represented ASCII character.

The EbcdicToAscii function is available as of version 7.3 of the Sirius Mods.

Syntax

%outString = string:EbcdicToAscii[( [CharacterDecode= boolean])] Throws CharacterTranslationException

Syntax terms

%ascii A string variable to receive the method object string translated to Ascii.
string An EBCDIC character string.
CharacterDecode=bool The optional (name required) CharacterDecode argument is a Boolean: *If its value is 'True', an ampersand (&) in the input EBCDIC string is allowed only as the beginning of one of these types of character or entity reference: **The substring '&amp;'. This substring is converted to a single '&' character. **A hexadecimal character reference (for example, the six characters '&#x90;' for the ASCII Device Control String control character). The character reference is converted to the referenced character. **As of Sirius Mods version 7.6, an XHTML entity reference (for example, the six characters '&copy;' for the copyright character). The entity reference is converted to the referenced character. A decimal character reference (for example, &#172;) is not allowed. *If its value is 'False', the default, an ampersand is treated only as a normal character.

Exceptions

This intrinsic 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.

Usage notes

  • You can find the list of XHTML entities on the Internet at the following URL:
   http://www.w3.org/TR/xhtml1/dtds.html#h-A2

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&#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

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

List of intrinsic String methods