HexToString (String function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
Line 27: Line 27:
*The HexToString function requires a method object string with an even number of bytes.  
*The HexToString function requires a method object string with an even number of bytes.  
*HexToString displays a question mark (''''?'''') in a case where a converted hex value has no displayable character representation.  
*HexToString displays a question mark (''''?'''') in a case where a converted hex value has no displayable character representation.  
*The [[Intrinsic X Function|X]] function is a compile-time only equivalent of the [[Intrinsic HexToString Function|HexToString]] method.            
*The [[X (String function)|X]] function is a compile-time only equivalent of the HexToString method.
*The inverse of HexToString is [[Intrinsic StringToHex Function|StringToHex]].      
*The inverse of HexToString is [[StringToHex (String function)|StringToHex]].
 
===Examples===                                                                       
===Examples===                                                                       
*The following statement displays ''''Saint Marie'''':                               
*The following statement displays ''''Saint Marie'''':                               

Revision as of 21:30, 21 October 2010

This intrinsic function returns the unencoded value of a hex encoded string.

HexToString is available as of version 7.2 of the Sirius Mods.

HexToString syntax

  %outStr = string:hexToString                                                                    

Syntax Terms

%outStr
A string variable to receive the unencoded value of the method object string.
string
A hex-encoded string value.

Exceptions

This intrinsic function can throw the following exceptions:

InvalidHexData
If the method object string does not contain a properly encoded hexadecimal value. The exception object indicates the position of the first invalid character in the method object string, or it indicates a zero if the method object string had an odd number of characters.

Usage Notes

  • Hex (short for hexadecimal) encoding is usually used for debugging when there is a concern that non-displayable characters (including trailing blanks) might be present in a string. By hex-encoding such a string, all non-displayable bytes are converted to displayable hexadecimal equivalents.
  • The HexToString function requires a method object string with an even number of bytes.
  • HexToString displays a question mark ('?') in a case where a converted hex value has no displayable character representation.
  • The X function is a compile-time only equivalent of the HexToString method.
  • The inverse of HexToString is StringToHex.

Examples

  • The following statement displays 'Saint Marie':
   printText {'E2818995A340D481998985':hexToString}         
  • The following statement displays '??' because no displayable characters exist for the specified hex values:
   printText {'FFFE':hexToString(signed=true)}

See also

List of Intrinsic String Methods