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.

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.