Up to this point it was not explained to which purpose the code positions in column 0 and 1 in ASCII are kept empty. It appears that there is a need to build into a coded text (or the "message") certain indications where some "action" should occur. These actions might be of a most various kind. They are styled "control functions" and indicated with a two- or three-letter acronym. In the codetable of ISO 646 there is place for 32, in that of ISO 8859 for 64. This appeared not to be enough, like we see in ISO 6429, Control Functions, where all 163 that have been defined up to now are decribed. It is out of question to discuss all of them here, the more because it never happens that all actions are possible on a single piece of equipment. Each piece of hardware or software only implements that selection that is suited to the application.
The categories of control functions are (ISO 6429, 8.2):
1. | delimiters |
2. | introducers |
3. | shift functions (see also Chapter 8) |
4. | format effectors |
5. | presentation control functions |
6. | editor functions |
7. | cursor control functions |
8. | display control functions |
9. | device control functions |
10. | information separators |
11. | area definition |
12. | mode setting |
13. | transmission control functions |
14. | miscellaneous control functions |
We limit ourselves to the 32 control functions that occur in ISO 646 (ISO 8859 reserves space, but does not specify itself any control function). Each of these is coded with a single byte, 7-bit, resp. 8-bit (and is thus a control CHARACTER). For the coding see Table 4.
The format effectors are:
CR | Carriage Return |
LF | Line Feed |
FF | Form Feed |
HT | Horizontal Tabulation (or TAB) |
VT | Vertical Tabulation (a rarity) |
BS | Backspace (obsolete on modern equipment |
)
Of these CR an LF frequently occur together, to indicate the end of a line, a modern printer has no longer a "carriage" anymore.
The device control functions DC1, DC2, DC3, DC4 derive their meaning
from the implementation (if there is one). For the Information Separators
IS1, IS2, IS3, IS4, alternatively named US, RS, GS, FS, the same is true.
IS1 | US | UNIT SEPARATOR |
IS2 | RS | RECORD SEPARATOR |
IS3 | GS | GROUP SEPARATOR |
IS4 | FS | FILE SEPARATOR |
The SHIFT functions are discussed in chapter 8.
The transmission functions are:
ENQ | Enquiry |
ACK | Acnowledge |
NAK | Negative acknowledge |
DLE | Data Link Escape |
SYN | Synchronous Idle |
SOH | Start Of Heading |
STX | Start Of Text |
ETX | End Of Text |
ETB | End Of Transmission Block |
EOT | End Of Transmission |
With the advance of modern network techniques with protocols these functions mostly lost their reason of existence.
The others are:
EM | End of Medium |
CAN | Cancel (the preceding character) |
SUB | Substitute (replaces an erroneous code) |
BEL | Alert (mostly no longer a bell, but a beep) |
NUL | All bits on 0, addition or removal of it does not change the meaning of the data |
Many of these control functions have no more than a historical significance, from the time of teletypes with paper tape.
The control functions that cannot be coded with a single byte, are coded with a "control sequence", starting with ESC, (Escape control character). Details may be found in ISO 6429. ISO 10538 describes those control functions that are needed for specifying the layout of text, what is achieved more and more with "formatters" to "markup" systems, like SGML (ISO 8879), see Chapter 17.