THE SET OF CONTROL CHARACTERS OF ISO 646

Disclaimer – This document is unofficial

This document is an unofficial interpretation of ISO IR-001, which is archived only as a PDF document at http://kikaku.itscj.ipsj.or.jp/ISO-IR/001.pdf. That document's purpose is to register and describe the 32 "C0" control codes that form part of the ISO 646 international standard.

Although this version is fairly faithful to the original, the original PDF document contains minor typographical errors that have been corrected here. Some liberties have also been taken with the formatting to make it more readable. If your business relies on this document's contents, you should get the official standards as published by the ISO, at whatever cost they feel is fair.

What is it for?

ISO 646 is an ISO international standard based on the US-only standard ANSI X.38 (ASCII). Since 1967, ASCII has covered the "printable" characters assigned to the 7-bit byte values 0x20 through 0x7E, and the control codes assigned to 0x7F and 0x00 through 0x1F. ISO 646, however, only covers the printable characters 0x20 through 0x7E. The idea was apparently so that the other values could be used for other characters, not necessarily the one set of control codes defined by ASCII. They ended up only producing one set of control codes for ISO 646, as far as I know, and it's exactly the same as ASCII's except it does not include the DEL code at 0x7F. ISO IR-001 is the set of control codes for ISO 646.

The control codes have different purposes. Some are meant to control mechanical printing devices (and later, CRT based devices). Some are for separating sequential records in a data stream (as might be stored on tape). Some tell a device to shift into or out of a mode where it will interpret subsequent data as representing a different set of printable characters. I suggest reading ASCII: American Standard Code for Information Infiltration by Tom Jennings to get a better understanding of them, as well as the history of ASCII in general.

Since most Internet-related standards are based on Unicode and ISO/IEC 10646, this document is mainly of historical interest. However, neither Unicode nor ISO/IEC 10646, which include these characters for compatibility with legacy systems, explain the semantics of the control codes. Thus, this kind of formal documentation may still be useful.


TYPE: GRAPHIC CHARACTER SET
REGISTRATION NUMBER: 001
REGISTRATION DATE: 1975/12/01
ESCAPE SEQUENCE: C0 SET
                 C1 SET
                 ESC 2/1  4/0

NAME: The set of control characters of the ISO 646.

DESCRIPTION: The set of 32 control characters as described in ISO 646.

SPONSOR: Secretariat ISO/TC 97/SC 2
ORIGIN (USER): International Standard ISO 646.
FIELD OF UTILIZATION: Coded information interchange.
 
THE SET OF CONTROL CHARACTERS OF ISO 646
 
Column according to the type of set
C0, 7 or 8 bits 0 or 00 1 or 01
C1, 8 bits 08 09
C1, 7 bits (FINAL) (Fe) 4 5
Row Control character (abbreviation)
0NULTC7 (DLE)
1TC1 (SOH)DC1
2TC2 (STX)DC2
3TC3 (ETX)DC3
4TC4 (EOT)DC4
5TC5 (ENQ)TC8 (NAK)
6TC6 (ACK)TC9 (SYN)
7BELTC10 (ETB)
8FE0 (BS)CAN
9FE1 (HT)EM
10FE2 (LF)*SUB
11FE3 (VT)*ESC
12FE4 (FF)*IS4 (FS)
13FE5 (CR)*IS3 (GS)
14SOIS2 (RS)
15SIIS1 (US)
* Note: The format effectors are intended for equipment in which horizontal and vertical movements are effected separately. If equipment requires the action of CARRIAGE RETURN to be combined with a vertical movement, the format effector for that vertical movement may be used to effect the combined movement. For example, if NEW LINE (CR+LF) is required, FE2 shall be used to represent it. This substitution requires agreement between the sender and the recipient of the data. The use of these combined functions may be restricted for international transmission on general switched telecommunication networks (telegraph and telephone networks).

 
List of mnemonics and meanings
 
Position Name Abbreviation Definition
0/0 Null Nul A control character used to accomplish media-fill or time-fill. Null characters may be inserted into or removed from a stream of data without affecting the information content of that stream. But then the addition or removal of these characters may affect the information layout and/or the control of equipment.
0/1 Transmission control character 1 (Start of heading) TC1 (SOH) A transmission control character used as the first character of a heading of an information message.
0/2 Transmission control character 2 (Start of text) TC2 (STX) A transmission control character which precedes a text and which is used to terminate a heading.
0/3 Transmission control character 3 (End of text) TC3 (ETX) A transmission control character which terminates a text.
0/4 Transmission control character 4 (End of transmission) TC4 (EOT) A transmission control character used to indicate the conclusion of the transmission of one or more texts.
0/5 Transmission control character 5 (Enquiry) TC5 (ENQ) A transmission control character used as a response from a remote station; the response may include station identification and/or station status. When a "Who are you" function is required on the general switched transmission network, the first use of ENQ after the connection is established shall have the meaning "Who are you" (station identification). Subsequent uses of ENQ may, or may not, include the function "Who are you", as determined by agreement.
0/6 Transmission control character 6 (Acknowledge) TC6 (ACK) A transmission control character transmitted by a receiver as an affirmative response to the sender.
0/7 Bell BEL A control character that is used when there is a need to call for attention; it may control alarm or attention devices.
0/8 Format effector 0 (Backspace) FE0 (BS) A format effector which moves the active position one character position backwards on the same line.
0/9 Format effector 1 (Horizontal tabulation) FE1 (HT) A format effector which advances the active position to the next pre-determined character position on the same line.
0/10 Format effector 2 (Line feed) FE2 (LF) A format effector which advances the active position to the same character position on the next line.
0/11 Format effector 3 (Vertical tabulation) FE3 (VT) A format effector which advances the active position to the same character position on the next pre-determined line.
0/12 Format effector 4 (Form feed) FE4 (FF) A format effector which advances the active position to the same character position on a pre-determined line of the next form or page.
0/13 Format effector 5 (Carriage return) FE5 (CR) A format effector which moves the active position to the first character position on the same line.
0/14 Shift out SO A control character which is used in conjunction with SHIFT-IN and ESCAPE to extend the graphic character set of the code. It may alter the meaning of the bit combinations of columns 2 to 7 which follow it until a SHIFT-IN character is reached. However, the characters SPACE (2/0) and DELETE (7/15) are unaffected by SHIFT-OUT. The effect of this character when using code extension techniques is described in International Standard ISO 2022.
0/15 Shift in SI A control character which is used in conjunction with SHIFT-OUT and ESCAPE to extend the graphic character set of the code. It may reinstate the standard meanings of the bit combinations which follow it. The effect of this character when using code extension techniques is described in International Standard ISO 2022.
1/0 Transmission control character 7 (Data link escape) TC7 (DLE) A transmission control character which will change the meaning of a limited number of contiguously following characters. It is used exclusively to provide supplementary data transmission control functions. Only graphic characters and transmission control characters can be used in DLE sequences.
1/1 Device control 1 DC1 A device control character which is primarily intended for turning on or starting an ancillary device. If it is not required for this purpose, it may be used to set a device to a special mode of operation (see also DC2 and DC3), or for any other device control function not provided by other DCs.
1/2 Device control 2 DC2 A device control character which is primarily intended for turning on or starting an ancillary device. If it is not required for this purpose, it may be used to set a device to a special mode of operation (in which case DC1 is used to restore the device to the basic mode), or for any other device control function not provided by other DCs.
1/3 Device control 3 DC3 A device control character which is primarily intended for turning off or stopping an ancillary device. This function may be a secondary level stop, for example, wait, pause, stand-by or halt (in which case DC1 is used to restore normal operation). If it is not required for this purpose, it may be used for any other device control function not provided by other DCs.
1/4 Device control 4 DC4 A device control character which is primarily intended for turning off, stopping, or interrupting an ancillary device. If it is not required for this purpose, it may be used for any other device control function not provided by other DCs.
1/5 Transmission control character 8 (Negative acknowledge) TC8 (NAK) A transmission control character transmitted by a receiver as a negative response to the sender.
1/6 Transmission control character 9 (Synchronous idle) TC9 (SYN) A transmission control character used by a synchronous transmission system in the absence of any other character (idle condition) ot provide a signal from which synchronism may be achieved or retained between data terminal equipment.
1/7 Transmission control character 10 (End of transmission block) TC10 (ETB) A transmission control character used to to indicate the end of a transmission block of data where data is divided into such blocks for transmission purposes.
1/8 Cancel CAN A character, or the first character of a sequence, indicating that the data preceding it is in error. As a result, this data is to be ignored. The specific meaning of this character must be defined for each application and/or between sender and recipient.
1/9 End of medium EM A control character that may be used to identify the physical end of a medium, or the end of the used portion of a medium, or the end of the wanted portion of data recorded on a medium. The position of this character does not necessarily correspond to the physical end of the medium.
1/10 Substitute SUB A control character used in the place of a character that has been found to be invalid or in error. SUB is intended to be introduced by automatic means.
1/11 Escape ESC A control character which is used to provide additional control functions. It alters the meaning of a limited number of contiguously following bit combinations. The use of this character is specified in International Standard ISO 2022.
1/12 Information separator 4 (File separator) IS4 (FS) A control character used to separate and qualify data logically; its specific meaning has to be defined for each application. If this character is used in hierarchical order, it delimits a data idem called a FILE.
1/13 Information separator 3 (Group separator) IS3 (GS) A control character used to separate and qualify data logically; its specific meaning has to be defined for each application. If this character is used in hierarchical order, it delimits a data idem called a GROUP.
1/14 Information separator 2 (Record separator) IS2 (RS) A control character used to separate and qualify data logically; its specific meaning has to be defined for each application. If this character is used in hierarchical order, it delimits a data idem called a RECORD.
1/15 Information separator 1 (Unit separator) IS1 (US) A control character used to separate and qualify data logically; its specific meaning has to be defined for each application. If this character is used in hierarchical order, it delimits a data idem called a UNIT.

History