Lably
Skip to content

ASCII

Character encoding standard

  • 24 min read
  • 8 chapters
  • 1 lab on Lably

Learn it on Lably

ASCII encodes each code-point as a value from 0 to 127 – storable as a seven-bit integer. Ninety-five code-points are printable, including digits 0 to 9, lowercase letters a to z, uppercase letters A to Z, and commonly used punctuation symbols. For example, the letter i is represented as 105 (decimal). Also, ASCII specifies 33 non-printing control codes which originated with Teletype devices, most of which are now obsolete. The control characters that are still commonly used include carriage return, line feed, and tab.

ASCII lacks code-points for characters with diacritical marks and therefore does not directly support terms or names such as résumé, jalapeño, or naïve. But, depending on hardware and software support, some diacritical marks can be rendered by overwriting a letter with a backtick (`) or tilde (~).

The Internet Assigned Numbers Authority (IANA) prefers the name US-ASCII for this character encoding.

ASCII is one of the IEEE milestones.

History

ASCII is the standardisation of a seven-bit teleprinter code developed in part from earlier telegraph codes.

Work on the ASCII standard began in May 1961, when IBM engineer Bob Bemer submitted a proposal to the American Standards Association's (ASA) (now the American National Standards Institute or ANSI) X3.2 subcommittee. The first edition of the standard was published in 1963, contemporaneously with the introduction of the Teletype Model 33. It later underwent a major revision in 1967, and several further revisions until 1986. In contrast to earlier telegraph codes such as Baudot, ASCII was ordered for more convenient collation (especially alphabetical sorting of lists), and added controls for devices other than teleprinters.

ASCII was developed under the auspices of a committee of the American Standards Association (ASA), called the X3 committee, by its X3.2 (later X3L2) subcommittee, and later by that subcommittee's X3.2.4 working group (now INCITS). The ASA later became the United States of America Standards Institute (USASI) and ultimately became the American National Standards Institute (ANSI).

With the other special characters and control codes filled in, ASCII was published as ASA X3.4-1963, leaving 28 code positions without any assigned meaning, reserved for future standardization, and one unassigned control code. There was some debate at the time whether there should be more control characters rather than the lowercase alphabet. The indecision did not last long: during May 1963 the CCITT Working Party on the New Telegraph Alphabet proposed to assign lowercase characters to sticks 6 and 7, and International Organization for Standardization TC 97 SC 2 voted during October to incorporate the change into its draft standard. The X3.2.4 task group voted its approval for the change to ASCII at its May 1963 meeting. Locating the lowercase letters in sticks 6 and 7 caused the characters to differ in bit pattern from the upper case by a single bit, which simplified case-insensitive character matching and the construction of keyboards and printers.

The X3 committee made other changes. It added the brace and vertical bar characters. It renamed some control characters – SOM became SOH. It moved or removed others – RU was removed. ASCII was subsequently updated as USAS X3.4-1967, then USAS X3.4-1968, ANSI X3.4-1977, and finally, ANSI X3.4-1986.

The use of ASCII format for Network Interchange was described in 1969. That document was formally elevated to an Internet Standard in 2015.

Sign in to keep reading

7 more chapters are free with a Lably account.

More in Computing and communication