|
|
|
|
|
|
C0 AND C1 CONTROL CODES
The C0 and C1 control code sets define control codes for use in text. C0, originally defined in ISO 646, defines codes in the range 00HEX–1FHEX. C1, originally defined in ISO 6429, defines codes in the range 80HEX–9FHEX. The C0 codes are used with ASCII and most encodings based on it. The C1 codes were included in the ISO-8859-n series of encodings and Unicode but are rarely used. When they turn up in documents, Web pages, e-mail messages, etc., which are ostensibly in an ISO-8859-n encoding, they probably are actually intended to refer to the characters at that position in a proprietary, system-specific encoding such as Windows-1252 or the Apple Macintosh ("MacRoman") character set, even though such usage is nonstandard.
Most applications only interpret the control codes for LF, CR, and HT. A few applications also interpret VT, FF, and NEL (in C1). Very few applications interpret the other C0 and C1 control codes.
C0 (ASCII and derivatives)
| Seq |
Dec |
Hex |
Abbr |
Character name |
Description/notes |
| ^@ |
00 |
0x00 |
NUL |
Null |
Originally used to allow gaps to be left on paper tape for edits. Later used for padding after a code that might take a terminal some time to process (e.g. a carriage return or line feed on a printing terminal). Now often used as a string terminator, especially in C. |
| ^A |
01 |
0x01 |
SOH |
Start of Heading |
First character of a message heading. |
| ^B |
02 |
0x02 |
STX |
Start of Text |
First character of message text, and may be used to terminate the message heading. |
| ^C |
03 |
0x03 |
ETX |
End of Text |
Often used as a "break" character (Ctrl-C) to interrupt a program or process. In TOPS-20, it was used to gain the system's attention before logging in. |
| ^D |
04 |
0x04 |
EOT |
End of Transmission |
Used to represent the end-of-file in Unix. However, MS-DOS uses ^Z for end-of-file. On Apple II systems, it signaled that a DOS command followed. |
| ^E |
05 |
0x05 |
ENQ |
Enquiry |
Signal intended to trigger a response at the receiving end, to see if it is still present |
| ^F |
06 |
0x06 |
ACK |
Acknowledge |
response to an ENQ |
| ^G |
07 |
0x07 |
BEL |
Bell |
Originally used to sound a bell on the terminal. Later used for a beep on systems that didn't have a physical bell. May also quickly turn on and off inverse video (a visual bell). |
| ^H |
08 |
0x08 |
BS |
Backspace |
Deletes the character to the left and moves the cursor left. |
| ^I |
09 |
0x09 |
HT |
Horizontal Tab |
Generally referred to as simply "tab". |
| ^J |
10 |
0x0A |
LF |
Line Feed |
On typewriters, printers, and some terminal emulators, moves the cursor down one row without affecting its column position. On Unix, used as to mark end-of-line. In MS-DOS, Windows, and various network standards, is used following CR as part of the end-of-line mark. |
| ^K |
11 |
0x0B |
VT |
Vertical Tab |
| ^L |
12 |
0x0C |
FF |
Form Feed |
On printers, load the next page. Treated as whitespace by Python, and may be used to separate logical divisions in code. In some terminal emulators, it clears the screen. |
| ^M |
13 |
0x0D |
CR |
Carriage Return |
Originally used to move the cursor to column zero while staying on the same line. On Mac OS (pre-Mac OS X), as well as in earlier systems such as the Apple II and Commodore 64, used to mark end-of-line. In MS-DOS, Windows, and various network standards, it is used preceding LF as part of the end-of-line mark. The Enter or Return key on a keyboard will send this character, but it may be converted to a different end-of-line sequence by a terminal program. |
| ^N |
14 |
0x0E |
SO |
Shift Out |
Switch to an alternate character set. |
| ^O |
15 |
0x0F |
SI |
Shift In |
Return to regular character set after Shift Out. In TOPS-20, it signalled that further output should be discarded; the program would continue to run but not display or print anything until ^O is typed again. |
| ^P |
16 |
0x10 |
DLE |
Data Link Escape |
Cause the following data to be interpreted as raw data, not control codes. |
| ^Q |
17 |
0x11 |
DC1 |
Device Control 1/XON |
Resume transmission. Used for software flow control. In some terminal programs, ends pause started with Ctrl-S. |
| ^R |
18 |
0x12 |
DC2 |
Device Control 2 |
In TOPS-20, reprinted the current line, tidying up any character deletions. |
| ^S |
19 |
0x13 |
DC3 |
Device Control 3/XOFF |
Suspend transmission. Used for software flow control. In some terminal programs, pauses display of text. |
| ^T |
20 |
0x14 |
DC4 |
Device Control 4 |
In TOPS-20, it caused a brief system-status line to be displayed. |
| ^U |
21 |
0x15 |
NAK |
Negative Acknowledge |
Sent by a station as a negative response to the station with which the connection has been set up. In binary synchronous communication protocol, the NAK is used to indicate that an error was detected in the previously received block and that the receiver is ready to accept retransmission of that block. In multipoint systems, the NAK is used as the not-ready reply to a poll. In some text editors, it was used as a "Delete Line" character. |
| ^V |
22 |
0x16 |
SYN |
Synchronous Idle |
Used in synchronous transmission systems to provide a signal from which synchronous correction may be achieved between data terminal equipment, particularly when no other character is being transmitted. |
| ^W |
23 |
0x17 |
ETB |
End of Transmission Block |
Indicates the end of a transmission block of data when data are divided into such blocks for transmission purposes. In some text editors, it is used as a "Delete Word" character which rubs out the previous text entry back to the preceding space. |
| ^X |
24 |
0x18 |
CAN |
Cancel |
Indicates that the data with which it is associated are in error or are to be disregarded, or cannot be represented on a particular device. |
| ^Y |
25 |
0x19 |
EM |
End of Medium |
In many programs, a keyboard input of Ctrl-Y is a "Redo" command to undo the last Ctrl-Z undo command. |
| ^Z |
26 |
0x1A |
SUB |
Substitute |
On MS-DOS systems with files opened in text mode, "end of text" or "end of file" is marked by the Ctrl-Z character (code 26, "Substitute"), instead of ^C or ^D common on other operating systems. In many programs, a keyboard input of Ctrl-Z is an "undo" command to reverse the most recent input or action. |
| ^[ |
27 |
0x1B |
ESC |
Escape |
The ESC key on the keyboard will cause this character to be sent on most systems. It can be used in software user interfaces to exit from a screen, menu, or mode, or in device-control protocols (e.g., printers and terminals) to signal that what follows is a special command sequence rather than normal text. |
| ^\ |
28 |
0x1C |
FS |
File Separator |
Can be used as delimiters to mark fields of data structures. If used for hierarchical levels, US is the lowest level (dividing plain-text data items), while RS, GS, and FS are of increasing level to divide groups made up of items of the level beneath it. |
| ^] |
29 |
0x1D |
GS |
Group Separator |
| ^^ |
30 |
0x1E |
RS |
Record Separator |
| ^_ |
31 |
0x1F |
US |
Unit Separator |
|
127 |
0x7F |
DEL |
Rubout/Delete |
Originally used to mark deleted characters on paper tape, since any character could be changed to all ones by punching holes everywhere. In modern systems, used to delete the character to the right of the cursor. |
C1 (ISO-8859 and Unicode)
| Dec |
Hex |
Short Abbr
(RFC 1345) |
Full Abbr |
Character name |
Description/notes |
| 128 |
0x80 |
PA |
PAD |
Padding Character |
listed as XXX in unicode |
| 129 |
0x81 |
HO |
HOP |
High Octet Preset |
| 130 |
0x82 |
BH |
BPH |
Break Permitted Here |
| 131 |
0x83 |
NH |
NBH |
No Break Here |
| 132 |
0x84 |
IN |
IND |
Index |
| 133 |
0x85 |
NL |
NEL |
Next Line |
Used to mark end-of-line on some IBM mainframes. |
| 134 |
0x86 |
SA |
SSA |
Start of Selected Area |
| 135 |
0x87 |
ES |
ESA |
End of Selected Area |
| 136 |
0x88 |
HS |
HTS |
Horizontal Tab Set |
| 137 |
0x89 |
HJ |
HTJ |
Horizontal Tab Justified |
| 138 |
0x8A |
VS |
VTS |
Vertical Tab Set |
| 139 |
0x8B |
PD |
PLD |
Partial Line Forward |
| 140 |
0x8C |
PU |
PLU |
Partial Line Backward |
| 141 |
0x8D |
RI |
RI |
Reverse Line Feed |
| 142 |
0x8E |
S2 |
SS2 |
Single-Shift 2 |
| 143 |
0x8F |
S3 |
SS3 |
Single-Shift 3 |
| 144 |
0x90 |
DC |
DCS |
Device Control String |
| 145 |
0x91 |
P1 |
PU1 |
Private Use 1 |
| 146 |
0x92 |
P2 |
PU2 |
Private Use 2 |
| 147 |
0x93 |
TS |
STS |
Set Transmit State |
| 148 |
0x94 |
CC |
CCH |
Cancel character |
| 149 |
0x95 |
MW |
MW |
Message Waiting |
| 150 |
0x96 |
SG |
SPA |
Start of Protected Area |
| 151 |
0x97 |
EG |
EPA |
End of Protected Area |
| 152 |
0x98 |
SS |
SOS |
Start of String |
| 153 |
0x99 |
GC |
SGCI |
Single Graphic Char Intro |
listed as XXX in unicode |
| 154 |
0x9A |
SC |
SCI |
Single Char Intro |
| 155 |
0x9B |
CI |
CSI |
Control Sequence Intro |
| 156 |
0x9C |
SI |
ST |
String Terminator |
| 157 |
0x9D |
OC |
OSC |
OS Command |
| 158 |
0x9E |
PM |
PM |
Private Message |
| 159 |
0x9F |
AC |
APC |
App Program Command |
References
|
|
|
|
|
|
|