Click for homepage
Standard
Computer
Crypto
  
ITA-2 →
    
ITA-5   ASCII
ITA-5, commonly referred to as ASCII, is a 7-level (later: 8-level) binary character-encoding scheme, derived from the older 5-level ITA2 standard (also known as Murray code or Baudot). ASCII is the abbreviation of American Standard Code for Information Interchange. The standard defines the 128 codes that can be made with 7 bits, all based on the English (Latin) alphabet. As there are variations between different countries, the common standard is known as US-ASCII.

Compared to the 5-level ITA2 standard (Baudot-Murray), where the characters are sorted in such a way that they cause minimum (mechanical) stress on the equipment, characters in the ASCII table are sorted in the logical order of the alphabet. The first ASCII standard was published in 1963, with a major revision in 1967. The most recent update was published in 1986. ASCII is commonly used by computers for storing programs (software) and information (data). It has also been the major encoding scheme on the internet, until it was surpassed by UTF-8 in 2007.

The initial ASCII standard was published when the first computers entered the stage. These computers used 7-level punched paper tape for storing their programs and the holes (b0-b6) were punched according to the ASCII scheme. Later, when data was stored in the more convenient 8-bit pattern, 8-level punched tape was introduced. It allows 256 characters, of which the first 128 are defined by the ASCII standard. The extra bit allows the introduction of a parity bit (P) – used for error checking – but can also be used for adding 128 additional characters (b7).


Many different encoding schemes for 8-bit exist, but the majority of them uses ASCII to define the lower 128 characters. The upper half (sometimes referred to as the 'top-bit-set characters') are often used for language-dependent encodings, such as ISO-8859-1 (Latin1) and its Microsoft variant Windows-1252. The definition of the lower 128 ASCII characters is given below.

Hex 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
1 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2 SP ! " # $ % & ' ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ \ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~ DEL

The first 32 characters are unprintable. They are known as the control characters and are mainly used for text formatting on teleprinters and on the first generations of video terminals. Character 127 is also a special code. It is used to delete a character which, in 7-level paper tape, was done by punching 7 holes. Control characters are often written as ^@ (NUL), ^A (SOH), ^B (STX), etc.

# Hex Binary Char Name Description
0 00 0000 0000 ^@ NUL Null character (nothing)
1 01 0000 0001 ^A SOH Start of header
2 02 0000 0010 ^B STX Start of text
3 03 0000 0011 ^C ETX End of text
4 04 0000 0100 ^D EOT End of transmission
5 05 0000 0101 ^E ENQ Enquiry
6 06 0000 0110 ^F ACK Acknowlegment
7 07 0000 0111 ^G BEL Bell (acoustic signal)
8 08 0000 1000 ^H BS Backspace
9 09 0000 1001 ^I HT Horizontal Tab
10 0A 0000 1010 ^J LF Line feed
11 0B 0000 1011 ^K VT Vertical Tab
12 0C 0000 1100 ^L FF Form feed (clear screen)
13 0D 0000 1101 ^M CR Carriage return (enter)
14 0E 0000 1110 ^N SO Shift Out
15 0F 0000 1111 ^O SI Shift In
16 10 0001 0000 ^P DLE Data Link Escape
17 11 0001 0001 ^Q DC1 Device Control 1 (XON)
18 12 0001 0010 ^R DC2 Device Control 2
19 13 0001 0011 ^S DC3 Device Control 3 (XOFF)
20 14 00010100 ^T DC4 Device Control 4
21 15 0001 0101 ^U NAK Negative Acknowledgment
22 16 0001 0110 ^V SYN Synchronous idle
23 17 0001 0111 ^W ETB End of Transmission Block
24 18 0001 1000 ^X CAN Cancel
25 19 0001 1001 ^Y EM End of Medium
26 1A 0001 1010 ^Z SUB Substitute (also: End of File, EOF)
27 1B 0001 1011 ^[ ESC Escape
28 1C 0001 1100 ^\ FS File Separator
29 1D 0001 1101 ^] GS Group Separator
30 1E 0001 1110 ^^ RS Record Separator
31 1F 0001 1111 ^_ US Unit Separator
32 20 0010 0000   SP SPACE character (printable)
33 21 0010 0001 !   Exclamation mark (pling)
34 22 0010 0010 "   Quote
35 23 0010 0011 #   Hash
36 24 0010 0100 $   Dollar
37 25 0010 0101 %   Percent
38 26 0010 0110 &   Ampersand
39 27 0010 0111 '   Apostrophy
40 28 0010 1000 (   Left bracket
41 29 0010 1001 )   Right bracket
42 2A 0010 1010 *   Star
43 2B 0010 1011  +    Plus
44 2C 0010 1100 ,   Comma
45 2D 0010 1101 -   Minus
46 2E 0010 1110 .   Full stop, point
47 2F 0010 1111 /   Slash, forward slash
48 30 0011 0000 0   Zero
49 31 0011 0001 1   One
···          
127 7F 0111 1111 ^? DEL Delete

Bit order
Traditionally, in teleprinter jargon, the least significant bit (lsb) is called channel 1 (c1), whilst the highest bit is channel 7 (c7) or, in the case of 8-bit ASCII, channel 8 (c8). This numbering scheme stems from the telegraph era in which the five channels of the paper tape were numbered 1 to 5. In the digital world however, it is more common to start numbering from 0 onwards, which is why in computer jargon, the bits of an 8-bit word (i.e. a byte) are commonly referred to as b0 to b7.



Further information
Any links shown in red are currently unavailable. If you like the information on this website, why not make a donation?
© Crypto Museum. Created: Thursday 21 May 2015. Last changed: Tuesday, 28 February 2023 - 07:55 CET.
Click for homepage