Section 6.1: Data Representation (Frame 6)                     [prev][home][next]

Expanding the code to 7 bits yielded 128 combinations. Now both uppercase and lowercase letters could be used, a big leap forward! Moreover, special control characters crept into the system. One of these is kind of obvious but strange nonetheless, the space or blank. It is the only character code which instructs printers and monitors not to display anything! Other control characters, such STX, EOT, BEL, and NUL had meanings specific to terminals and modems. When these I/O devices received these characters from the computer, they did various things, such as sound the "bell" (make a beep) or go into reverse video display mode. Later, networking systems used these same characters to signal the beginning and ending of a transmission, or to disconnect. ASCII and EBCDIC both have a plethora of these non-printing characters, and they can cause problems when inadvertently sent to a modem or a printer, making it hang up or print weird junk.

Though the assignment of characters to their codes could be totally arbitrary, certain assignments make it much easier to program certain things. For instance, all codes use an alphabetic ordering on letters. That is, the code for B is always numerically greater than A, the code for C is greater than B, and so forth. This makes it easier to sort on names and addresses than if the codes were arbitrary. However, which comes first in the code, lower case or upper case letters? And what is the ordering of the punctuation? There is no obvious preferred ordering so the codes diverge on this. They do, however, impose an ordering on the printable digits that mirrors their numerical relationships, so '1' is greater than '0', and so forth. Moreover, the code for '1' is exactly 1 greater than that for '0'. In ASCII '0' is 48, '1' is 49, '2' is 50 and so on.