History · Origins
A short history of ASCII
How a committee of engineers turned telegraph habits into the seven bits every computer still speaks.
Before ASCII
Long before computers, machines were already sending letters as codes. Émile Baudot patented a five-unit telegraph code in 1874, and Donald Murray reworked it around the turn of the century for operators typing on keyboards rather than tapping keys.†
By the 1950s, computer makers had each settled on their own character codes, and machines from different vendors often couldn’t read each other’s data. Moving text between systems meant translation tables, or retyping it.
The committee
In 1960 the American Standards Association set up its X3.2 subcommittee to agree on one code. It chose seven bits, enough for 128 characters, and arranged them with care: control codes first, then punctuation and digits, then letters, so that sorting by code would put text in a sensible order.†
The first edition, X3.4-1963, defined capital letters only. The positions where lowercase would go were left unassigned.
1967: lowercase arrives
The 1967 revision filled those positions with lowercase letters, placing each one exactly 32 codes after its capital. Changing case became a matter of flipping a single bit.†
A President’s memo
In March 1968, President Lyndon B. Johnson signed a memorandum making ASCII the standard for federal computers, putting the purchasing power of the US government behind the code.
The rival
IBM had already gone its own way. Its System/360, announced in 1964, used EBCDIC, an eight-bit code descended from punched cards. IBM mainframes use it to this day.†
- 1874Baudot patents a five-unit telegraph code
- c. 1901Murray adapts it for keyboard operators
- 1960ASA’s X3.2 subcommittee begins work
- 1963First edition of ASCII published
- 1964IBM’s System/360 ships EBCDIC
- 1967Revision adds lowercase letters
- 1968Johnson memo makes ASCII a federal standard
- 1992UTF-8 keeps ASCII as its first 128 code points
Afterlife: UTF-8
When Ken Thompson and Rob Pike designed UTF-8 in 1992, they made its first 128 code points identical to ASCII. Every ASCII file is already valid UTF-8, which goes a long way toward explaining why UTF-8 won, and why these seven bits are still everywhere.†
Continue reading
Sources
- Tom Jennings, “An annotated history of some character codes,” including the sections ASCII-1963 and ASCII-1967. https://www.sr-ix.com/Archive/CharCodeHist/index.html
- IEEE Engineering and Technology History Wiki, “Milestones: American Standard Code for Information Interchange (ASCII), 1963.” https://ethw.org/Milestones:American_Standard_Code_for_Information_Interchange_ASCII,_1963
- Lyndon B. Johnson, “Memorandum Approving the Adoption by the Federal Government of a Standard Code for Information Interchange,” March 11, 1968. The American Presidency Project. https://www.presidency.ucsb.edu/node/237376
- IBM, “The IBM System/360.” https://www.ibm.com/history/system-360 — IBM, “The EBCDIC character set,” z/OS Basic Skills. https://www.ibm.com/docs/en/zos-basic-skills?topic=mainframe-ebcdic-character-set — and Douglas W. Jones, “Punched Card Codes,” University of Iowa. https://homepage.cs.uiowa.edu/~jones/cards/codes.html
- Computer History Museum, “Robert (Bob) Bemer papers.” https://www.computerhistory.org/collections/catalog/102724781/
- Rob Pike, “UTF-8 history” (email, April 30, 2003). https://www.cl.cam.ac.uk/~mgk25/ucs/utf-8-history.txt