Page 40 - ARM 64 Bit Assembly Language
P. 40
Introduction 23
Table 1.7: Interpreting a
hexadecimal string as ASCII.
Hexadecimal ASCII
46 F
61 a
62 b
75 u
6C l
6F o
75 u
73 s
21 !
00 NUL
string in hexadecimal is “48 65 6C 6C 6F 20 57 6F 62 6C 64 00” and in decimal it is “72 101
108 108 111 32 87 111 98 108 100 0”.
1.3.4.3 Interpreting data as ASCII strings
It is sometimes necessary to convert a string of bytes in hexadecimal into ASCII characters.
This is accomplished simply by building a table with the hexadecimal value of each byte in
the left column, then looking in the ASCII table for each value and entering the equivalent
character representation in the right column. Table 1.7 shows the table used to interpret the
hexadecimal string “466162756C6F75732100” as an ASCII string.
1.3.4.4 ISO extensions to ASCII
ASCII was developed to encode all of the most commonly used characters in North Ameri-
can English text. The encoding uses only 128 of the 256 codes that are available in an 8-bit
byte. ASCII does not include symbols frequently used in other countries, such as the British
pound symbol (£) or accented characters (ü). However, the International Standards Organiza-
tion (ISO) has created several extensions to ASCII to enable the representation of characters
from a wider variety of languages.
The ISO extended ASCII standards are known collectively as ISO 8859. Several variations of
the ISO 8859 standard exist for supporting different language families. Each ISO 8859 char-
acter set is an eight-bit extension to ASCII which includes the 128 ASCII characters along
with 128 additional characters, such as the British Pound symbol and the American cent sym-
bol. Table 1.8 provides a brief description of the various ISO standards.