This is a purely informative rendering of an RFC that includes verified errata. This rendering may not be used as a reference.
The following 'Verified' errata have been incorporated in this document:
EID 4217
Network Working Group Vint Cerf
Request for Comments: 20 UCLA
October 16, 1969
ASCII format for Network Interchange
For concreteness, we suggest the use of standard 7-bit ASCII embedded
in an 8 bit byte whose high order bit is always 0. This leads to the
standard code given on the attached page, copies from USAS X3, 4-
1968. This code will be used over HOST-HOST primary connections.
Break characters will be defined by the receiving remote host, e.g.
SRI uses "." (ASCII X'2E' or 2/14) as the end-of-line character,
where as UCLA uses X'OD' or 0/13 (carriage return).
USA Standard Code for Information Interchange
1. Scope
This coded character set is to be used for the general interchange of
information among information processing systems, communication
systems, and associated equipment.
2. Standard Code
|----------------------------------------------------------------------|
B \ b7 ------------>| 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
I \ b6 ---------->| 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
T \ b5 -------->| 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
S |-----------------------------------------------|
COLUMN->| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|b4 |b3 |b2 |b1 | ROW | | | | | | | | |
+----------------------+-----------------------------------------------+
| 0 | 0 | 0 | 0 | 0 | NUL | DLE | SP | 0 | @ | P | ` | p |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 0 | 0 | 0 | 1 | 1 | SOH | DC1 | ! | 1 | A | Q | a | q |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 0 | 0 | 1 | 0 | 2 | STX | DC2 | " | 2 | B | R | b | r |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 0 | 0 | 1 | 1 | 3 | ETX | DC3 | # | 3 | C | S | c | s |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 0 | 1 | 0 | 0 | 4 | EOT | DC4 | $ | 4 | D | T | d | t |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 0 | 1 | 0 | 1 | 5 | ENQ | NAK | % | 5 | E | U | e | u |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 0 | 1 | 1 | 0 | 6 | ACK | SYN | & | 6 | F | V | f | v |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 0 | 1 | 1 | 1 | 7 | BEL | ETB | ' | 7 | G | W | g | w |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 1 | 0 | 0 | 0 | 8 | BS | CAN | ( | 8 | H | X | h | x |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 1 | 0 | 0 | 1 | 9 | HT | EM | ) | 9 | I | Y | i | y |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 1 | 0 | 1 | 0 | 10 | LF | SUB | * | : | J | Z | j | z |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 1 | 0 | 1 | 1 | 11 | VT | ESC | + | ; | K | [ | k | { |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 1 | 1 | 0 | 0 | 12 | FF | FS | , | < | L | \ | l | | |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 1 | 1 | 0 | 1 | 13 | CR | GS | - | = | M | ] | m | } |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 1 | 1 | 1 | 0 | 14 | SO | RS | . | > | N | ^ | n | ~ |
|---|---|---|---|------|-----|-----|-----|-----|-----|-----|-----|-----|
| 1 | 1 | 1 | 1 | 15 | SI | US | / | ? | O | _ | o | DEL |
+----------------------+-----------------------------------------------+
3. Character Representation and Code Identification
The standard 7-bit character representation, with b7 the high-order
bit and b1 the low-order bit, is shown below:
EXAMPLE: The bit representation for the character "K," positioned in
column 4, row 11, is
b7 b6 b5 b4 b3 b2 b1
1 0 0 1 0 1 1
The code table position for the character "K" may also be represented
by the notation "column 4, row 11" or alternatively as "4/11." The
decimal equivalent of the binary number formed by bits b7, b6, and
b5, collectively, forms the column number, and the decimal equivalent
of the binary number formed by bits b4, b3, b2, and b1, collectively,
forms the row number.
The standard code may be identified by the use of the notation ASCII
or USASCII.
The notation ASCII (pronounced as'-key) or USASCII (pronounced you-
sas'-key) should ordinarily be taken to mean the code prescribed by
the latest issue of the standard. To explicitly designate a
particular (perhaps prior) issue, the last two digits of the year of
issue may be appended, as, "ASCII 63" or "USASCII 63".
4. Legend
4.1 Control Characters
NUL Null DLE Data Link Escape (CC)
SOH Start of Heading (CC) DC1 Device Control 1
STX Start of Text (CC) DC2 Device Control 2
ETX End of Text (CC) DC3 Device Control 3
EOT End of Transmission (CC) DC4 Device Control 4 (Stop)
ENQ Enquiry (CC) NAK Negative Acknowledge (CC)
ACK Acknowledge (CC) SYN Synchronous Idle (CC)
BEL Bell (audible or ETB End of Transmission
attention signal) Block (CC)
BS Backspace (FE) CAN Cancel
HT Horizontal Tabulation EM End of Medium
(punched card skip) (FE)
LF Line Feed (FE) SUB Substitute
VT Vertical Tabulation (FE) ESC Escape
FF Form Feed (FE) FS File Separator IS)
CR Carriage Return (FE) GS Group Separator (IS)
SO Shift Out RS Record Separator (IS)
SI Shift In US Unit Separator (IS)
DEL Delete [1]
________
NOTE: (CC) Communication Control
(FE) Format Effector
(IS) Information Separator
[1] In the strict sense, DEL is not a control character. (See 5.2)
4.2 Graphic Characters
Column/Row Symbol Name
2/0 SP Space (Normally Non-Printing)
2/1 ! Exclamation Point
2/2 " Quotation Marks (Diaeresis [2])
2/3 # Number Sign [3,4]
2/4 $ Dollar Sign
2/5 % Percent
2/6 & Ampersand
2/7 ' Apostrophe (Closing Single Quotation Mark
Acute Accent [2])
2/8 ( Opening Parenthesis
2/9 ) Closing Parenthesis
2/10 * Asterisk
2/11 + Plus
2/12 , Comma (Cedilla [2])
2/13 - Hyphen (Minus)
2/14 . Period (Decimal Point)
2/15 / Slant
3/10 : Colon
3/11 ; Semicolon
3/12 < Less Than
3/13 = Equals
3/14 > Greater Than
3/15 ? Question Mark
4/0 @ Commercial At [3]
5/11 [ Opening Bracket [3]
5/12 \ Reverse Slant [3]
5/13 ] Closing Bracket [3]
5/14 ^ Circumflex [2,3]
5/15 _ Underline
6/0 ` Grave Accent [2,3] (Opening Single Quotation
Mark)
7/11 { Opening Brace [3]
7/12 | Vertical Line [3]
7/13 } Closing Brace [3]
7/14 ~ Overline [3] (Tilde [2]; General Accent [2])
________
2 The use of the symbols in 2/2, 2/7, 2/12, 5/14, /6/0, and 7/14
as diacritical marks is described in Appendix A, A5.2, of X3.4-1968.
3 These characters should not be used in international interchange
without determining that there is agreement between sender and
recipient. (See Appendix B4 of X3.4-1968.)
EID 4217 (Verified) is as follows:Section: 4.2
Original Text:
2 The use of the symbols in 2/2, 2/7, 2/12, 5/14, /6/0, and 7/14
as diacritical marks is described in Appendix A, A5.2
3 These characters should not be used in international interchange
without determining that there is agreement between sender and
recipient. (See Appendix B4.)
Corrected Text:
2 The use of the symbols in 2/2, 2/7, 2/12, 5/14, /6/0, and 7/14
as diacritical marks is described in Appendix A, A5.2, of X3.4-1968.
3 These characters should not be used in international interchange
without determining that there is agreement between sender and
recipient. (See Appendix B4 of X3.4-1968.)
Notes:
The appendixes are in the original standard, not the RFC.
In the abstract, it says "X3, 4-" rather than "X3.4-" which is surely an OCR or transcription error.
4 In applications where there is no requirement for the symbol #,
the symbol (Pounds Sterling) may be used in position 2/3.
5. Definitions
5.1 General
(CC) Communication Control: A functional character intended to
control or facilitate transmission of information over communication
networks.
(FE) Format Effector: A functional character which controls the
layout or positioning of information in printing or display devices.
(IS) Information Separator: A character which is used to separate
and qualify information in a logical sense. There is a group of four
such characters, which are to be used in a hierarchical order.
5.2 Control Characters
NUL (Null): The all-zeros character which may serve to accomplish
time fill and media fill.
SOH (Start of Heading): A communication control character used at
the beginning of a sequence of characters which constitute a
machine-sensible address or routing information. Such a sequence is
referred to as the "heading." An STX character has the effect of
terminating a heading.
STX (Start of Text): A communication control character which
precedes a sequence of characters that is to be treated as an entity
and entirely transmitted through to the ultimate destination. Such a
sequence is referred to as "text." STX may be used to terminate a
sequence of characters started by SOH.
ETX (End of Text): A communication control character used to
terminate a sequence of characters started with STX and transmitted
as an entity.
EOT (End of Transmission): A communication control character used
to indicate the conclusion of a transmission, which may have
contained one or more texts and any associated headings.
ENQ (Enquiry): A communication control character used in data
communication systems as a request for a response from a remote
station. It may be used as a "Who Are You" (WRU) to obtain
identification, or may be used to obtain station status, or both.
ACK (Acknowledge): A communication control character transmitted
by a receiver as an affirmative response to a sender.
BEL (Bell): A character for use when there is a need to call for
human attention. It may control alarm or attention devices.
BS (Backspace): A format effector which controls the movement of
the printing position one printing space backward on the same
printing line. (Applicable also to display devices.)
HT (Horizontal Tabulation): A format effector which controls the
movement of the printing position to the next in a series of
predetermined positions along the printing line. (Applicable also to
display devices and the skip function on punched cards.)
LF (Line Feed): A format effector which controls the movement of
the printing position to the next printing line. (Applicable also to
display devices.) Where appropriate, this character may have the
meaning "New Line" (NL), a format effector which controls the
movement of the printing point to the first printing position on the
next printing line. Use of this convention requires agreement
between sender and recipient of data.
VT (Vertical Tabulation): A format effector which controls the
movement of the printing position to the next in a series of
predetermined printing lines. (Applicable also to display devices.)
FF (Form Feed): A format effector which controls the movement of
the printing position to the first pre-determined printing line on
the next form or page. (Applicable also to display devices.)
CR (Carriage Return): A format effector which controls the
movement of the printing position to the first printing position on
the same printing line. (Applicable also to display devices.)
SO (Shift Out): A control character indicating that the code
combinations which follow shall be interpreted as outside of the
character set of the standard code table until a Shift In character
is reached.
SI (Shift In): A control character indicating that the code
combinations which follow shall be interpreted according to the
standard code table.
DLE (Data Link Escape): A communication control character which
will change the meaning of a limited number of contiguously following
characters. It is used exclusively to provide supplementary controls
in data communication networks.
DC1, DC2, DC3, DC4 (Device Controls): Characters for the control
of ancillary devices associated with data processing or
telecommunication systems, more especially switching devices "on" or
"off." (If a single "stop" control is required to interrupt or turn
off ancillary devices, DC4 is the preferred assignment.)
NAK (Negative Acknowledge): A communication control character
transmitted by a receiver as a negative response to the sender.
SYN (Synchronous Idle): A communication control character used by
a synchronous transmission system in the absence of any other
character to provide a signal from which synchronism may be achieved
or retained.
ETB (End of Transmission Block): A communication control character
used to indicate the end of a block of data for communication
purposes. ETB is used for blocking data where the block structure is
not necessarily related to the processing format.
CAN (Cancel): A control character used to indicate that the data
with which it is sent is in error or is to be disregarded.
EM (End of Medium): A control character associated with the sent
data which may be used to identify the physical end of the medium, or
the end of the used, or wanted, portion of information recorded on a
medium.
(The position of this character does not necessarily correspond to the
physical end of the medium.)
SUB (Substitute): A character that may be substituted for a
character which is determined to be invalid or in error.
ESC (Escape): A control character intended to provide code
extension (supplementary characters) in general information
interchange. The Escape character itself is a prefix affecting the
interpretation of a limited number of contiguously following
characters.
FS (File Separator), GS (Group Separator), RS (Record Separator),
and US (Unit Separator): These information separators may be used
within data in optional fashion, except that their hierarchical
relationship shall be: FS is the most inclusive, then GS, then RS,
and US is least inclusive. (The content and length of a File, Group,
Record, or Unit are not specified.)
DEL (Delete): This character is used primarily to "erase" or
"obliterate" erroneous or unwanted characters in perforated tape.
(In the strict sense, DEL is not a control character.)
5.3 Graphic Characters
SP (Space): A normally non-printing graphic character used to
separate words. It is also a format effector which controls the
movement of the printing position, one printing position forward.
(Applicable also to display devices.)
6. General Considerations
6.1 This standard does not define the means by which the coded set is
to be recorded in any physical medium, nor does it include any
redundancy or define techniques for error control. Further, this
standard does not define data communication character structure, data
communication formats, code extension techniques, or graphic
representation of control characters.
6.2 Deviations from the standard may create serious difficulties in
information interchange and should be used only with full cognizance
of the parties involved.
6.3 The relative sequence of any two characters, when used as a basis
for collation, is defined by their binary values.
6.4 No specific meaning is prescribed for any of the graphics in the
code table except that which is understood by the users.
Furthermore, this standard does not specify a type style for the
printing or display of the various graphic characters. In specific
applications, it may be desirable to employ distinctive styling of
individual graphics to facilitate their use for specific purposes as,
for example, to stylize the graphics in code positions 2/1 and 5/15
into those frequently associated with logical OR (|) and logical NOT
(252), respectively.
6.5 The appendixes to this standard contain additional information on
the design and use of this code.
[ This RFC was put into machine readable form for entry ]
[ into the online RFC archives by Robbie Bennet 9/99]