The
American Standard Code for Information Interchange (
ASCII, pron ) is a
character-encoding schemeA character encoding system consists of a code that pairs each character from a given repertoire with something else, such as a sequence of natural numbers, octets or electrical pulses, in order to facilitate the transmission of data through telecommunication networks or storage of text in...
based on the
orderingOrder in mathematics may refer to:-In algebra:*Order , the cardinality of a group or period of an element*Order, or degree of a polynomial*Order, or dimension of a matrix*Order , an algebraic structure*Ordered group...
of the
English alphabetThe modern English alphabet is a Latin alphabet consisting of 26 letters and 2 ligatures – the same letters that are found in the Basic modern Latin alphabet:...
. ASCII codes represent
textIn computer and machine-based telecommunications terminology, a character is a unit of information that roughly corresponds to a grapheme, grapheme-like unit, or symbol, such as in an alphabet or syllabary in the written form of a natural language....
in
computerA computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...
s,
communicationsTelecommunication is the transmission of information over significant distances to communicate. In earlier times, telecommunications involved the use of visual signals, such as beacons, smoke signals, semaphore telegraphs, signal flags, and optical heliographs, or audio messages via coded...
equipment, and other devices that use text. Most modern character-encoding schemes are based on ASCII, though they support many more characters than ASCII does.
US-ASCII is the
Internet Assigned Numbers AuthorityThe Internet Assigned Numbers Authority is the entity that oversees global IP address allocation, autonomous system number allocation, root zone management in the Domain Name System , media types, and other Internet Protocol-related symbols and numbers...
(IANA) preferred charset name for ASCII.
Historically, ASCII developed from
telegraphic codesA telegraph code is a character encoding used to transmit information through telegraphy machines. The most famous such code is Morse code.-Manual telegraph codes:Morse code can be transmitted and received with very primitive equipment....
. Its first commercial use was as a seven-
bitA bit is the basic unit of information in computing and telecommunications; it is the amount of information stored by a digital device or other physical system that exists in one of two possible distinct states...
teleprinterA teleprinter is a electromechanical typewriter that can be used to communicate typed messages from point to point and point to multipoint over a variety of communication channels that range from a simple electrical connection, such as a pair of wires, to the use of radio and microwave as the...
code promoted by Bell data services. Work on ASCII formally began on October 6, 1960, with the first meeting of the American Standards Association's (ASA) X3.2 subcommittee. The first edition of the standard was published during 1963, a major revision during 1967, and the most recent update during 1986. Compared to earlier telegraph codes, the proposed Bell code and ASCII were both ordered for more convenient sorting (i.e., alphabetization) of lists, and added features for devices other than teleprinters.
ASCII includes definitions for 128 characters: 33 are non-printing
control characterIn computing and telecommunication, a control character or non-printing character is a code point in a character set, that does not in itself represent a written symbol.It is in-band signaling in the context of character encoding....
s (now mostly obsolete) that affect how text and space is processed; 95 are printable characters, including the
spaceIn writing, a space is a blank area devoid of content, serving to separate words, letters, numbers, and punctuation. Conventions for interword and intersentence spaces vary among languages, and in some cases the spacing rules are quite complex....
which is considered an invisible graphic.
The most commonly used character encoding on the World Wide Web was US-ASCII until December 2007, when it was surpassed by
UTF-8UTF-8 is a multibyte character encoding for Unicode. Like UTF-16 and UTF-32, UTF-8 can represent every character in the Unicode character set. Unlike them, it is backward-compatible with ASCII and avoids the complications of endianness and byte order marks...
.
History
The American Standard Code for Information Interchange (ASCII) was developed under the auspices of a committee of the American Standards Association, called the X3 committee, by its X3.2 (later X3L2) subcommittee, and later by that subcommittee's X3.2.4 working group. The ASA became the United States of America Standards Institute or USASI and ultimately the
American National Standards InstituteThe American National Standards Institute is a private non-profit organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States. The organization also coordinates U.S. standards with international...
.
The X3.2 subcommittee designed ASCII based on earlier
teleprinterA teleprinter is a electromechanical typewriter that can be used to communicate typed messages from point to point and point to multipoint over a variety of communication channels that range from a simple electrical connection, such as a pair of wires, to the use of radio and microwave as the...
encoding systems. Like other
character encodingA character encoding system consists of a code that pairs each character from a given repertoire with something else, such as a sequence of natural numbers, octets or electrical pulses, in order to facilitate the transmission of data through telecommunication networks or storage of text in...
s, ASCII specifies a correspondence between digital bit patterns and
characterIn computer and machine-based telecommunications terminology, a character is a unit of information that roughly corresponds to a grapheme, grapheme-like unit, or symbol, such as in an alphabet or syllabary in the written form of a natural language....
symbols (i.e.
graphemes and
control characterIn computing and telecommunication, a control character or non-printing character is a code point in a character set, that does not in itself represent a written symbol.It is in-band signaling in the context of character encoding....
s). This allows
digitalA digital system is a data technology that uses discrete values. By contrast, non-digital systems use a continuous range of values to represent information...
devices to communicate with each other and to process, store, and communicate character-oriented information such as written language. Before ASCII was developed, the encodings in use included 26
alphabeticThe modern English alphabet is a Latin alphabet consisting of 26 letters and 2 ligatures – the same letters that are found in the Basic modern Latin alphabet:...
characters, 10
numerical digitA digit is a symbol used in combinations to represent numbers in positional numeral systems. The name "digit" comes from the fact that the 10 digits of the hands correspond to the 10 symbols of the common base 10 number system, i.e...
s, and from 11 to 25 special graphic symbols.
To include all these, and control characters compatible with the Comité Consultatif International Téléphonique et Télégraphique standard,
FieldataFieldata was a pioneering computer project run by the US Army Signal Corps in the late 1950s that intended to create a single standard for collecting and distributing battlefield information...
, and early
EBCDICExtended Binary Coded Decimal Interchange Code is an 8-bit character encoding used mainly on IBM mainframe and IBM midrange computer operating systems....
, more than 64 codes were required for ASCII.
The committee debated the possibility of a
shift keyThe shift key is a modifier key on a keyboard, used to type capital letters and other alternate "upper" characters. There are typically two shift keys, on the left and right sides of the row below the home row...
function (like the
Baudot codeThe Baudot code, invented by Émile Baudot, is a character set predating EBCDIC and ASCII. It was the predecessor to the International Telegraph Alphabet No 2 , the teleprinter code in use until the advent of ASCII. Each character in the alphabet is represented by a series of bits, sent over a...
), which would allow more than 64 codes to be represented by six
bitA bit is the basic unit of information in computing and telecommunications; it is the amount of information stored by a digital device or other physical system that exists in one of two possible distinct states...
s. In a shifted code, some character codes determine choices between options for the following character codes.
It allows compact encoding, but is less reliable for
data transmissionData transmission, digital transmission, or digital communications is the physical transfer of data over a point-to-point or point-to-multipoint communication channel. Examples of such channels are copper wires, optical fibres, wireless communication channels, and storage media...
; an error in transmitting the shift code typically makes a long part of the transmission unreadable. The standards committee decided against shifting, and so ASCII required at least a seven-bit code.
The committee considered an eight-bit code, since eight bits (
octetAn octet is a unit of digital information in computing and telecommunications that consists of eight bits. The term is often used when the term byte might be ambiguous, as there is no standard for the size of the byte.-Overview:...
s) would allow two four-bit patterns to efficiently encode two digits with binary coded decimal. However, it would require all data transmission to send eight bits when seven could suffice. The committee voted to use a seven-bit code to minimize costs associated with data transmission. Since perforated tape at the time could record eight bits in one position, it also allowed for a
parity bitA parity bit is a bit that is added to ensure that the number of bits with the value one in a set of bits is even or odd. Parity bits are used as the simplest form of error detecting code....
for error checking if desired. Eight-bit machines (with octets as the native data type) that did not use parity checking typically set the eighth bit to 0.
The code itself was patterned so that most control codes were together, and all graphic codes were together, for ease of identification. The first two columns (32 positions) were reserved for control characters. The
"space" characterIn writing, a space is a blank area devoid of content, serving to separate words, letters, numbers, and punctuation. Conventions for interword and intersentence spaces vary among languages, and in some cases the spacing rules are quite complex....
had to come before graphics to make
sortingIn computer science, a sorting algorithm is an algorithm that puts elements of a list in a certain order. The most-used orders are numerical order and lexicographical order...
easier, so it became position 20
hexIn mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...
; for the same reason, many special signs commonly used as separators were placed before digits. The committee decided it was important to support upper case 64-character alphabets, and chose to pattern ASCII so it could be reduced easily to a usable 64-character set of graphic codes. Lower case letters were therefore not interleaved with upper case. To keep options available for lower case letters and other graphics, the special and numeric codes were arranged before the letters, and the letter "A" was placed in position 41
hexIn mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...
to match the draft of the corresponding British standard. The digits 0–9 were arranged so they correspond to values in binary prefixed with 011, making conversion with
binary-coded decimalIn computing and electronic systems, binary-coded decimal is a digital encoding method for numbers using decimal notation, with each decimal digit represented by its own binary sequence. In BCD, a numeral is usually represented by four bits which, in general, represent the decimal range 0 through 9...
straightforward.
Many of the non-alphanumeric characters were positioned to correspond to their shifted position on typewriters. Thus #, $ and % were placed to correspond to 3, 4, and 5 in the adjacent column. The parentheses could not correspond to 9 and 0, however, because the place corresponding to 0 was taken by the space character. Since many European typewriters placed the parentheses with 8 and 9, those corresponding positions were chosen for the parentheses. The @ symbol was not used in continental Europe and the committee expected it would be replaced by an accented À in the French variation, so the @ was placed in position 40
hexIn mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...
next to the letter A.
The control codes felt essential for data transmission were the start of message (SOM), end of address (EOA),
end of messageEnd of message or EOM signifies the end of a message, often an e-mail. The subject of an e-mail may contain such an abbreviation to signify that all content is in the subject line so that the message itself does not need to be opened...
(EOM), end of transmission (EOT), "who are you?" (WRU), "are you?" (RU), a reserved device control (DC0), synchronous idle (SYNC), and acknowledge (ACK). These were positioned to maximize the
Hamming distanceIn information theory, the Hamming distance between two strings of equal length is the number of positions at which the corresponding symbols are different...
between their bit patterns.
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 lower case alphabet. The indecision did not last long: during May 1963 the CCITT Working Party on the New Telegraph Alphabet proposed to assign lower case characters to columns 6 and 7, and
International Organization for StandardizationThe International Organization for Standardization , widely known as ISO, is an international standard-setting body composed of representatives from various national standards organizations. Founded on February 23, 1947, the organization promulgates worldwide proprietary, industrial and commercial...
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 columns 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, including other new characters (the
braceBrackets are tall punctuation marks used in matched pairs within text, to set apart or interject other text. In the United States, "bracket" usually refers specifically to the "square" or "box" type.-List of types:...
and vertical line characters), renaming some control characters (SOM became start of header (SOH)) and moving or removing others (RU was removed). ASCII was subsequently updated as USASI X3.4-1967, then USASI X3.4-1968, ANSI X3.4-1977, and finally, ANSI X3.4-1986 (the first two are occasionally retronamed ANSI X3.4-1967, and ANSI X3.4-1968).
The X3 committee also addressed how ASCII should be transmitted (
least significant bitIn computing, the least significant bit is the bit position in a binary integer giving the units value, that is, determining whether the number is even or odd. The lsb is sometimes referred to as the right-most bit, due to the convention in positional notation of writing less significant digits...
first), and how it should be recorded on perforated tape. They proposed a 9-track standard for magnetic tape, and attempted to deal with some forms of
punched cardA punched card, punch card, IBM card, or Hollerith card is a piece of stiff paper that contains digital information represented by the presence or absence of holes in predefined positions...
formats.
ASCII itself was first used commercially during 1963 as a seven-bit teleprinter code for
American Telephone & TelegraphAT&T Corp., originally American Telephone and Telegraph Company, is an American telecommunications company that provides voice, video, data, and Internet telecommunications and professional services to businesses, consumers, and government agencies. AT&T is the oldest telecommunications company...
's TWX (TeletypeWriter eXchange) network. TWX originally used the earlier five-bit Baudot code, which was also used by the competing
TelexTelex may refer to:* Telex , , a communications network** Teleprinter, the device used on the above network* Telex , a Belgian pop group...
teleprinter system.
Bob BemerRobert William Bemer was a computer scientist best known for his work at IBM during the late 1950s and early 1960s.-Biography:...
introduced features such as the
escape sequenceIn computing and telecommunication, an escape character is a character which invokes an alternative interpretation on subsequent characters in a character sequence. An escape character is a particular case of metacharacters...
. His British colleague
Hugh McGregor RossHugh McGregor Ross is an early pioneer in the history of British computing. He worked for Ferranti from the mid-1960s, where he worked on the Pegasus thermionic valve computer. He was involved in the standardization of ASCII and ISO 646 and worked closely with Bob Bemer. ASCII was first known in...
helped to popularize this work—according to Bemer, "so much so that the code that was to become ASCII was first called the Bemer-Ross Code in Europe". Because of his extensive work on ASCII, Bemer has been called "the father of ASCII."
On March 11, 1968, U.S. President
Lyndon B. JohnsonLyndon Baines Johnson , often referred to as LBJ, was the 36th President of the United States after his service as the 37th Vice President of the United States...
mandated that all computers purchased by the United States federal government support ASCII, stating:
I have also approved recommendations of the Secretary of Commerce regarding standards for recording the Standard Code for Information Interchange on magnetic tapes and paper tapes when they are used in computer operations.
All computers and related equipment configurations brought into the Federal Government inventory on and after July 1, 1969, must have the capability to use the Standard Code for Information Interchange and the formats prescribed by the magnetic tape and paper tape standards when these media are used.
Other international standards bodies have ratified character encodings such as
ISO/IEC 646ISO/IEC 646:1991, Information technology — ISO 7-bit coded character set for information interchange, is an ISO standard that since its first edition in 1972 has specified a 7-bit character code from which several national standards are derived...
that are identical or nearly identical to ASCII, with extensions for characters outside the English alphabet and symbols used outside the United States, such as the symbol for the
United KingdomThe United Kingdom of Great Britain and Northern IrelandIn the United Kingdom and Dependencies, other languages have been officially recognised as legitimate autochthonous languages under the European Charter for Regional or Minority Languages...
's
pound sterlingThe pound sterling , commonly called the pound, is the official currency of the United Kingdom, its Crown Dependencies and the British Overseas Territories of South Georgia and the South Sandwich Islands, British Antarctic Territory and Tristan da Cunha. It is subdivided into 100 pence...
(£). Almost every country needed an adapted version of ASCII since ASCII only suited the needs of the USA and a few other countries. For example, Canada had its own version that supported French characters. Other adapted encodings include
ISCIIIndian Standard Code for Information Interchange is a coding scheme for representing various writing systems of India. It encodes the main Indic scripts and a Roman transliteration. The supported scripts are: Assamese, Bengali , Devanagari, Gujarati, Gurmukhi, Kannada, Malayalam, Oriya , Tamil,...
(India),
VISCIIThe Vietnamese Standard Code for Information Interchange is a character set comprising the Vietnamese alphabet, punctuation, and other graphemes. Vietnamese requires slightly too many letter/diacritic combinations to make a traditional extended ASCII character set for it...
(Vietnam), and
YUSCIIYUSCII was an informal name for JUS I.B1.002 and JUS I.B1.003 , national variant of ISO 646, 7-bit Latinic character encoding standard, and used in Yugoslavia before widespread use of later ISO-8859-2, Microsoft and Unicode standards...
(Yugoslavia). Although these encodings are sometimes referred to as ASCII, true ASCII is defined strictly only by ANSI standard.
ASCII was incorporated into the
UnicodeUnicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
character set as the first 128 symbols, so the ASCII characters have the same numeric codes in both sets. This allows
UTF-8UTF-8 is a multibyte character encoding for Unicode. Like UTF-16 and UTF-32, UTF-8 can represent every character in the Unicode character set. Unlike them, it is backward-compatible with ASCII and avoids the complications of endianness and byte order marks...
to be
backward compatibleIn the context of telecommunications and computing, a device or technology is said to be backward or downward compatible if it can work with input generated by an older device...
with ASCII, a significant advantage.
ASCII control characters
ASCII reserves the first 32 codes (numbers 0–31 decimal) for
control characterIn computing and telecommunication, a control character or non-printing character is a code point in a character set, that does not in itself represent a written symbol.It is in-band signaling in the context of character encoding....
s: codes originally intended not to represent printable information, but rather to control devices (such as
printerIn computing, a printer is a peripheral which produces a text or graphics of documents stored in electronic form, usually on physical print media such as paper or transparencies. Many printers are primarily used as local peripherals, and are attached by a printer cable or, in most new printers, a...
s) that make use of ASCII, or to provide
meta-informationThe term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...
about data streams such as those stored on magnetic tape. For example, character 10 represents the "line feed" function (which causes a printer to advance its paper), and character 8 represents "backspace". RFC 2822 refers to control characters that do not include carriage return, line feed or
white spaceIn computer science, whitespace is any single character or series of characters that represents horizontal or vertical space in typography. When rendered, a whitespace character does not correspond to a visual mark, but typically does occupy an area on a page...
as non-whitespace control characters. Except for the control characters that prescribe elementary line-oriented formatting, ASCII does not define any mechanism for describing the structure or appearance of text within a document. Other schemes, such as
markup languageA markup language is a modern system for annotating a text in a way that is syntactically distinguishable from that text. The idea and terminology evolved from the "marking up" of manuscripts, i.e. the revision instructions by editors, traditionally written with a blue pencil on authors' manuscripts...
s, address page and document layout and formatting.
The original ASCII standard used only short descriptive phrases for each control character. The ambiguity this caused was sometimes intentional (where a character would be used slightly differently on a terminal link than on a
data streamIn telecommunications and computing, a data stream is a sequence of digitally encoded coherent signals used to transmit or receive information that is in the process of being transmitted....
) and sometimes accidental (such as what "delete" means).
Probably the most influential single device on the interpretation of these characters was the
TeletypeThe Teletype Corporation, a part of American Telephone and Telegraph Company's Western Electric manufacturing arm since 1930, came into being in 1928 when the Morkrum-Kleinschmidt Company changed its name to the name of its trademark equipment...
Model 33 ASR series, which was a printing terminal with an available
paper tapePunched tape or paper tape is an obsolete form of data storage, consisting of a long strip of paper in which holes are punched to store data...
reader/punch option. Paper tape was a very popular medium for long-term program storage through the 1980s, less costly and in some ways less fragile than magnetic tape. In particular, the Teletype Model 33 machine assignments for codes 17 (Control-Q, DC1, also known as XON), 19 (Control-S, DC3, also known as XOFF), and 127
(Delete)The delete key , known less ambiguously as forward delete, performs a function when struck on a computer keyboard during text or command editing, which is to discard the character ahead of the cursor's position, moving all following characters one position "back" towards the freed letterspace. The...
became de facto standards. Because the keytop for the O key also showed a left-arrow symbol (from ASCII-1963, which had this character instead of underscore), a noncompliant use of code 15 (Control-O, Shift In) interpreted as "delete previous character" was also adopted by many early timesharing systems but eventually became neglected.
The use of Control-S (XOFF, an abbreviation for transmit off) as a "handshaking" signal warning a sender to stop transmission because of impending overflow, and Control-Q (XON, "transmit on") to resume sending, persists to this day in many systems as a manual output control technique. On some systems Control-S retains its meaning but Control-Q is replaced by a second Control-S to resume output.
Code 127 is officially named "delete" but the Teletype label was "rubout". Since the original standard did not give detailed interpretation for most control codes, interpretations of this code varied. The original Teletype meaning, and the intent of the standard, was to make it an ignored character, the same as NUL (all zeroes). This was useful specifically for paper tape, because punching the all-ones bit pattern on top of an existing mark would obliterate it. Tapes designed to be "hand edited" could even be produced with spaces of extra NULs (blank tape) so that a block of characters could be "rubbed out" and then replacements put into the empty space.
As video terminals began to replace printing ones, the value of the "rubout" character was lost. DEC systems, for example, interpreted "Delete" to mean "remove the character before the cursor" and this interpretation also became common in Unix systems. Most other systems used "Backspace" for that meaning and used "Delete" to mean "remove the character at the cursor". That latter interpretation is the most common now.
Many more of the control codes have been given meanings quite different from their original ones. The "escape" character (ESC, code 27), for example, was intended originally to allow sending other control characters as literals instead of invoking their meaning. This is the same meaning of "escape" encountered in URL encodings, C language strings, and other systems where certain characters have a reserved meaning. Over time this meaning has been co-opted and has eventually been changed. In modern use, an ESC sent to the terminal usually indicates the start of a command sequence, usually in the form of a so-called "
ANSI escape codeANSI escape sequences are characters embedded in the text used to control formatting, color, and other output options on video text terminals. Almost all terminal emulators designed to show text output from a remote computer, and to show text output from local software, interpret at least some of...
" (or, more properly, a "Control Sequence Introducer") beginning with ESC followed by a "
[" (left-bracket) character. An ESC sent from the terminal is most often used as an
out-of-bandThe term out-of-band has different uses in communications and telecommunication. In case of out-of-band control signaling, signaling bits are sent in special order in a dedicated signaling frame...
character used to terminate an operation, as in the
TECOTECO is a text editor originally developed at the Massachusetts Institute of Technology in the 1960s, after which it was modified by 'just about everybody'...
and
vivi is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by the Single Unix Specification and POSIX.The original code for vi...
text editorA text editor is a type of program used for editing plain text files.Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code....
s. In
graphical user interfaceIn computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
(GUI) and
windowingIn computing, a window is a visual area containing some kind of user interface. It usually has a rectangular shape that can overlap with the area of other windows...
systems, ESC generally causes an application to abort its current operation or to
exitOn many computer operating systems, a computer process terminates its execution by making an exit system call. More generally, an exit in a multithreading environment means that a thread of execution has stopped running. The operating system reclaims resources that were used by the process...
(terminate) altogether.
The inherent ambiguity of many control characters, combined with their historical usage, created problems when transferring "plain text" files between systems. The best example of this is the
newlineIn computing, a newline, also known as a line break or end-of-line marker, is a special character or sequence of characters signifying the end of a line of text. The name comes from the fact that the next character after the newline will appear on a new line—that is, on the next line below the...
problem on various
operating systemAn operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s. Teletype machines required that a line of text be terminated with both "Carriage Return" and "Linefeed". The first returns the printing carriage to the beginning of the line and the second advances to the next line without moving the carriage. However, requiring two characters to mark the end of a line introduced unnecessary complexity and questions as to how to interpret each character when encountered alone. To simplify matters,
plain textIn computing, plain text is the contents of an ordinary sequential file readable as textual material without much processing, usually opposed to formatted text....
files on
UnixA Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
and
AmigaThe Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...
systems use line feeds alone to separate lines. Similarly, older Macintosh systems, among others, use only carriage returns in plain text files. Various
IBMInternational Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
operating systems used both characters to mark the end of a line, perhaps for compatibility with
Teletype machinesA teleprinter is a electromechanical typewriter that can be used to communicate typed messages from point to point and point to multipoint over a variety of communication channels that range from a simple electrical connection, such as a pair of wires, to the use of radio and microwave as the...
.
This de facto standard was copied into
CP/MCP/M was a mass-market operating system created for Intel 8080/85 based microcomputers by Gary Kildall of Digital Research, Inc...
and then into
MS-DOSMS-DOS is an operating system for x86-based personal computers. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for IBM PC compatible personal computers during the 1980s to the mid 1990s, until it was gradually superseded by operating...
and eventually into
Microsoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
. Transmission of text over the
InternetThe Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
, for protocols as
E-mailElectronic mail, commonly known as email or e-mail, is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. Some early email systems required that the author and the recipient both be online at the...
and the
World Wide WebThe World Wide Web is a system of interlinked hypertext documents accessed via the Internet...
, uses both characters.
Some operating systems such as the pre-
VMSOpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...
DECDigital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...
operating systems, along with CP/M, tracked file length only in units of disk blocks and used Control-Z (SUB) to mark the end of the actual text in the file. For this reason, EOF, or
end-of-fileIn computing, end of file is a condition in a computer operating system where no more data can be read from a data source...
, was used colloquially and conventionally as a
three-letter acronymA three-letter acronym, three-letter abbreviation, or TLA is an abbreviation, specifically an acronym, alphabetism, or initialism, consisting of three letters...
(TLA) for Control-Z instead of SUBstitute. For a variety of reasons, the end-of-text code,
ETXThe End Of Text character is an ASCII control character used to inform the receiving computer that the end of the data stream has been reached. This may or may not be an indication that all of the data has been received....
aka
Control-CControl-C is a common computer command. It is generated by pressing the key while holding down the key on a computer keyboard.In graphical user interface environments that use the control key to control the active program, control-C is often used to copy highlighted text to the clipboard...
, was inappropriate and using Z as the control code to end a file is analogous to it ending the alphabet, a very convenient mnemonic aid. ASCII
stringIn formal languages, which are used in mathematical logic and theoretical computer science, a string is a finite sequence of symbols that are chosen from a set or alphabet....
s ending with the
null characterThe null character , abbreviated NUL, is a control character with the value zero.It is present in many character sets, including ISO/IEC 646 , the C0 control code, the Universal Character Set , and EBCDIC...
are known as ASCIZ, ASCIIZ or
null-terminated stringIn computer programming, a null-terminated string is a character string stored as an array containing the characters and terminated with a null character...
s.
| Binary | Oct | Dec | Hex | Abbr | [The Unicode]Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems... characters from the area U+2400 to U+2421 reserved for representing control characters when it is necessary to print or display them rather than have them perform their intended function. Some browsers may not display these properly. | Caret notation Caret notation is a notation for unprintable control characters in ASCII encoding. The notation consists of a caret followed by a capital letter; this digraph stands for the ASCII code that has the numerical value equivalent to the letter's numerical value. For example the EOT character with a... often used to represent control characters on a terminal. On most text terminals holding down the key while typing the second character will type the control character. Sometimes the shift key is not needed, for instance ^@ may be typable with just Ctrl and 2. | [Character Escape Codes in C programming language]C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system.... and many other languages influenced by it, such as JavaJava is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities... and PerlPerl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular... (though not all implementations necessarily support all escape codes). | Name |
| 000 0000 |
000 |
0 |
00 |
NUL |
␀ |
^@ |
\0 |
Null character The null character , abbreviated NUL, is a control character with the value zero.It is present in many character sets, including ISO/IEC 646 , the C0 control code, the Universal Character Set , and EBCDIC...
|
| 000 0001 |
001 |
1 |
01 |
SOH |
␁ |
^A |
|
Start of Header |
| 000 0010 |
002 |
2 |
02 |
STX |
␂ |
^B |
|
Start of Text |
| 000 0011 |
003 |
3 |
03 |
ETX |
␃ |
^C |
|
End of Text The End Of Text character is an ASCII control character used to inform the receiving computer that the end of the data stream has been reached. This may or may not be an indication that all of the data has been received....
|
| 000 0100 |
004 |
4 |
04 |
EOT |
␄ |
^D |
|
End of Transmission In telecommunication, an end-of-transmission character is a transmission control character. Its intended use is to indicate the conclusion of a transmission that may have included one or more texts and any associated message headings....
|
| 000 0101 |
005 |
5 |
05 |
ENQ |
␅ |
^E |
|
Enquiry In computer communications, enquiry is a transmission-control character that requests a response from the receiving station with which a connection has been set up. It represents a signal intended to trigger a response at the receiving end, to see if it is still present...
|
| 000 0110 |
006 |
6 |
06 |
ACK |
␆ |
^F |
|
Acknowledgment In telecommunications, an acknowledge character is a transmission control character transmitted by the receiving station as an acknowledgement, i.e...
|
| 000 0111 |
007 |
7 |
07 |
BEL |
␇ |
^G |
\a |
Bell A bell code is a device control code originally sent to ring a small electromechanical bell on tickers and other teleprinters and teletypewriters to alert operators at the other end of the line, often of an incoming message...
|
| 000 1000 |
010 |
8 |
08 |
BS |
␈ |
^H |
\b |
Backspace Backspace is the keyboard key that originally pushed the typewriter carriage one position backwards, and in modern computer displays moves the cursor one position backwards, deletes the preceding character, and shifts back the text after it by one position....
[The Backspace character can also be entered by pressing the key on some systems.] |
| 000 1001 |
011 |
9 |
09 |
HT |
␉ |
^I |
\t |
Horizontal Tab[The Tab character can also be entered by pressing the key on most systems.] |
| 000 1010 |
012 |
10 |
0A |
LF |
␊ |
^J |
\n |
Line feed |
| 000 1011 |
013 |
11 |
0B |
VT |
␋ |
^K |
\v |
Vertical Tab |
| 000 1100 |
014 |
12 |
0C |
FF |
␌ |
^L |
\f |
Form feed |
| 000 1101 |
015 |
13 |
0D |
CR |
␍ |
^M |
\r |
Carriage return Carriage return, often shortened to return, refers to a control character or mechanism used to start a new line of text.Originally, the term "carriage return" referred to a mechanism or lever on a typewriter...
[The Carriage Return character can also be entered by pressing the or key on most systems.] |
| 000 1110 |
016 |
14 |
0E |
SO |
␎ |
^N |
|
Shift Out Shift Out and Shift In are ASCII control characters 14 and 15, respectively . The original meaning of those characters was to switch to a different character set and back. This was used, for instance, in the Russian character set known as KOI7, where SO starts printing Russian...
|
| 000 1111 |
017 |
15 |
0F |
SI |
␏ |
^O |
|
Shift In Shift Out and Shift In are ASCII control characters 14 and 15, respectively . The original meaning of those characters was to switch to a different character set and back. This was used, for instance, in the Russian character set known as KOI7, where SO starts printing Russian...
|
| 001 0000 |
020 |
16 |
10 |
DLE |
␐ |
^P |
|
Data Link Escape |
| 001 0001 |
021 |
17 |
11 |
DC1 |
␑ |
^Q |
|
Device Control 1 (oft. XON) |
| 001 0010 |
022 |
18 |
12 |
DC2 |
␒ |
^R |
|
Device Control 2 |
| 001 0011 |
023 |
19 |
13 |
DC3 |
␓ |
^S |
|
Device Control 3 (oft. XOFF) |
| 001 0100 |
024 |
20 |
14 |
DC4 |
␔ |
^T |
|
Device Control 4 |
| 001 0101 |
025 |
21 |
15 |
NAK |
␕ |
^U |
|
Negative Acknowledgement * In telecommunications, a negative-acknowledge character is a transmission control character sent by a station as a negative response to the station with which the connection has been set up....
|
| 001 0110 |
026 |
22 |
16 |
SYN |
␖ |
^V |
|
Synchronous idle Synchronous Idle is the ASCII control character 22 , represented as ^V in caret notation. Synchronous Idle is used in some synchronous serial communication systems such as Teletype machines or the bisync protocol to provide a signal from which synchronous correction may be achieved between data...
|
| 001 0111 |
027 |
23 |
17 |
ETB |
␗ |
^W |
|
End of Transmission Block |
| 001 1000 |
030 |
24 |
18 |
CAN |
␘ |
^X |
|
Cancel In telecommunication, the term cancel character has the following meanings:#A control character used to indicate that the data with which it is associated are in error or are to be disregarded....
|
| 001 1001 |
031 |
25 |
19 |
EM |
␙ |
^Y |
|
End of Medium |
| 001 1010 |
032 |
26 |
1A |
SUB |
␚ |
^Z |
|
Substitute A substitute character is a control character that is used in the place of a character that is recognized to be invalid or in error or that cannot be represented on a given device....
|
| 001 1011 |
033 |
27 |
1B |
ESC |
␛ |
^[ |
\e[The '\e' escape sequence is not part of ISO C and many other language specifications. However, it is understood by several compilers.] |
Escape In computing and telecommunication, an escape character is a character which invokes an alternative interpretation on subsequent characters in a character sequence. An escape character is a particular case of metacharacters...
[The Escape character can also be entered by pressing the key on some systems.] |
| 001 1100 |
034 |
28 |
1C |
FS |
␜ |
^\ |
|
File Separator |
| 001 1101 |
035 |
29 |
1D |
GS |
␝ |
^] |
|
Group Separator |
| 001 1110 |
036 |
30 |
1E |
RS |
␞ |
^^[^^ means (pressing the "Ctrl" and caret keys).] |
|
Record Separator |
| 001 1111 |
037 |
31 |
1F |
US |
␟ |
^_ |
|
Unit Separator |
|
| 111 1111 |
177 |
127 |
7F |
DEL |
␡ |
^? |
|
Delete In computing, a delete character is the last character in the ASCII repertoire, with the code 127. Not a graphic character, it denoted as ^? in caret notation and has a graphic representation in Unicode like all ASCII control characters, while its meaning is a bit unclear.There is no common...
[The Delete character can sometimes be entered by pressing the key on some systems.][The ambiguity of Backspace is due to early terminals designed assuming the main use of the keyboard would be to manually punch paper tape while not connected to a computer. To delete the previous character, one had to back up the paper tape punch, which for mechanical and simplicity reasons was a button on the punch itself and not the keyboard, then type the rubout character. They therefore placed a key producing rubout at the location used on typewriters for backspace. When systems used these terminals and provided command-line editing, they had to use the "rubout" code to perform a backspace, and often did not interpret the backspace character (they might echo "^H" for backspace). Other terminals not designed for paper tape made the key at this location produce Backspace, and systems designed for these used that character to back up. Since the delete code often produced a backspace effect, this also forced terminal manufacturers to make any key produce something other than the Delete character.] |
ASCII printable characters
Codes 20
hexIn mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...
to 7E
hexIn mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...
, known as the printable characters, represent letters, digits, punctuation marks, and a few miscellaneous symbols. There are 95 printable characters in total.
Code 20
hexIn mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...
, the
space characterIn writing, a space is a blank area devoid of content, serving to separate words, letters, numbers, and punctuation. Conventions for interword and intersentence spaces vary among languages, and in some cases the spacing rules are quite complex....
, denotes the space between words, as produced by the space-bar of a keyboard. Since the space character is considered an invisible graphic (rather than a control character) and thus would not normally be visible, it is represented here by
UnicodeUnicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
character U+2420 "␠";
UnicodeUnicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
characters U+2422 "␢" and U+2423 "␣" are also available for use when a visible representation of a space is necessary.
Code 7F
hexIn mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...
corresponds to the non-printable "Delete" (DEL) control character and is therefore omitted from this chart; it is covered in the previous section's chart.
Earlier versions of ASCII used the up-arrow instead of the
caretCaret usually refers to the spacing symbol ^ in ASCII and other character sets. In Unicode, however, the corresponding character is , whereas the Unicode character named caret is actually a similar but lowered symbol: ....
(5E
hexIn mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...
).
EWLINE
| Binary | Oct | Dec | Hex | Glyph |
| 010 0000 |
040 |
32 |
20 |
␠ In writing, a space is a blank area devoid of content, serving to separate words, letters, numbers, and punctuation. Conventions for interword and intersentence spaces vary among languages, and in some cases the spacing rules are quite complex....
|
| 010 0001 |
041 |
33 |
21 |
!The exclamation mark, exclamation point, or bang, or "dembanger" is a punctuation mark usually used after an interjection or exclamation to indicate strong feelings or high volume , and often marks the end of a sentence. Example: “Watch out!” The character is encoded in Unicode at...
|
| 010 0010 |
042 |
34 |
22 |
" Quotation marks or inverted commas are punctuation marks at the beginning and end of a quotation, direct speech, literal title or name. Quotation marks can also be used to indicate a different meaning of a word or phrase than the one typically associated with it and are often used to express irony...
|
| 010 0011 |
043 |
35 |
23 |
# Number sign is a name for the symbol #, which is used for a variety of purposes including, in some countries, the designation of a number...
|
| 010 0100 |
044 |
36 |
24 |
$The dollar or peso sign is a symbol primarily used to indicate the various peso and dollar units of currency around the world.- Origin :...
|
| 010 0101 |
045 |
37 |
25 |
% The percent sign is the symbol used to indicate a percentage .Related signs include the permille sign ‰ and the permyriad sign , which indicate that a number is divided by one thousand or ten thousand respectively...
|
| 010 0110 |
046 |
38 |
26 |
&An ampersand is a logogram representing the conjunction word "and". The symbol is a ligature of the letters in et, Latin for "and".-Etymology:...
|
| 010 0111 |
047 |
39 |
27 |
' The apostrophe is a punctuation mark, and sometimes a diacritic mark, in languages that use the Latin alphabet or certain other alphabets...
|
| 010 1000 |
050 |
40 |
28 |
( |
| 010 1001 |
051 |
41 |
29 |
) |
| 010 1010 |
052 |
42 |
2A |
*An asterisk is a typographical symbol or glyph. It is so called because it resembles a conventional image of a star. Computer scientists and mathematicians often pronounce it as star...
|
| 010 1011 |
053 |
43 |
2B |
+ |
| 010 1100 |
054 |
44 |
2C |
, The comma is a punctuation mark. It has the same shape as an apostrophe or single closing quotation mark in many typefaces, but it differs from them in being placed on the baseline of the text. Some typefaces render it as a small line, slightly curved or straight but inclined from the vertical, or...
|
| 010 1101 |
055 |
45 |
2D |
- The hyphen-minus is a character used in digital documents and computing to represent a hyphen or a minus sign .It is present in Unicode as code point ; it is also in ASCII with the same value....
|
| 010 1110 |
056 |
46 |
2E |
. A full stop is the punctuation mark commonly placed at the end of sentences. In American English, the term used for this punctuation is period. In the 21st century, it is often also called a dot by young people...
|
| 010 1111 |
057 |
47 |
2F |
/ The slash is a sign used as a punctuation mark and for various other purposes. It is now often called a forward slash , and many other alternative names.-History:...
|
| 011 0000 |
060 |
48 |
30 |
00 is both a numberand the numerical digit used to represent that number in numerals.It fulfills a central role in mathematics as the additive identity of the integers, real numbers, and many other algebraic structures. As a digit, 0 is used as a placeholder in place value systems...
|
| 011 0001 |
061 |
49 |
31 |
1 |
| 011 0010 |
062 |
50 |
32 |
2 |
| 011 0011 |
063 |
51 |
33 |
3 |
| 011 0100 |
064 |
52 |
34 |
4 |
| 011 0101 |
065 |
53 |
35 |
5 |
| 011 0110 |
066 |
54 |
36 |
6 |
| 011 0111 |
067 |
55 |
37 |
7 |
| 011 1000 |
070 |
56 |
38 |
8 |
| 011 1001 |
071 |
57 |
39 |
9 |
| 011 1010 |
072 |
58 |
3A |
:The colon is a punctuation mark consisting of two equally sized dots centered on the same vertical line.-Usage:A colon informs the reader that what follows the mark proves, explains, or lists elements of what preceded the mark....
|
| 011 1011 |
073 |
59 |
3B |
; The semicolon is a punctuation mark with several uses. The Italian printer Aldus Manutius the Elder established the practice of using the semicolon to separate words of opposed meaning and to indicate interdependent statements. "The first printed semicolon was the work of ... Aldus Manutius"...
|
| 011 1100 |
074 |
60 |
3C |
< |
| 011 1101 |
075 |
61 |
3D |
=The equality sign, equals sign, or "=" is a mathematical symbol used to indicate equality. It was invented in 1557 by Robert Recorde. The equals sign is placed between the things stated to have the same value, as in an equation...
|
| 011 1110 |
076 |
62 |
3E |
> -Computing:The greater-than sign is an original ASCII character .-Angle brackets:The greater-than sign is used for an approximation of the closing angle bracket . ASCII does not have angular brackets.-Programming language:...
|
| 011 1111 |
077 |
63 |
3F |
?The question mark , is a punctuation mark that replaces the full stop at the end of an interrogative sentence in English and many other languages. The question mark is not used for indirect questions...
|
|
EWLINE
| Binary | Oct | Dec | Hex | Glyph |
| 100 0000 |
100 |
64 |
40 |
@ |
| 100 0001 |
101 |
65 |
41 |
AA is the first letter and a vowel in the basic modern Latin alphabet. It is similar to the Ancient Greek letter Alpha, from which it derives.- Origins :...
|
| 100 0010 |
102 |
66 |
42 |
BB is the second letter in the basic modern Latin alphabet. It is used to represent a variety of bilabial sounds , most commonly a voiced bilabial plosive.-History:...
|
| 100 0011 |
103 |
67 |
43 |
C Ĉ or ĉ is a consonant in Esperanto orthography, representing the sound .Esperanto orthography uses a diacritic for all four of its postalveolar consonants, as do the Latin-based Slavic alphabets...
|
| 100 0100 |
104 |
68 |
44 |
DD is the fourth letter in the basic modern Latin alphabet.- History :The Semitic letter Dâlet may have developed from the logogram for a fish or a door. There are various Egyptian hieroglyphs that might have inspired this. In Semitic, Ancient Greek, and Latin, the letter represented ; in the...
|
| 100 0101 |
105 |
69 |
45 |
E E is the fifth letter and a vowel in the basic modern Latin alphabet. It is the most commonly used letter in the Czech, Danish, Dutch, English, French, German, Hungarian, Latin, Norwegian, Spanish, and Swedish languages.-History:...
|
| 100 0110 |
106 |
70 |
46 |
FF is the sixth letter in the basic modern Latin alphabet.-History:The origin of ⟨f⟩ is the Semitic letter vâv that represented a sound like or . Graphically, it originally probably depicted either a hook or a club...
|
| 100 0111 |
107 |
71 |
47 |
GG is the seventh letter in the basic modern Latin alphabet.-History:The letter 'G' was introduced in the Old Latin period as a variant of ⟨c⟩ to distinguish voiced, from voiceless, . The recorded originator of ⟨g⟩ is freedman Spurius Carvilius Ruga, the first Roman to open a fee-paying school,...
|
| 100 1000 |
110 |
72 |
48 |
HH .) is the eighth letter in the basic modern Latin alphabet.-History:The Semitic letter ⟨ח⟩ most likely represented the voiceless pharyngeal fricative . The form of the letter probably stood for a fence or posts....
|
| 100 1001 |
111 |
73 |
49 |
II is the ninth letter and a vowel in the basic modern Latin alphabet.-History:In Semitic, the letter may have originated in a hieroglyph for an arm that represented a voiced pharyngeal fricative in Egyptian, but was reassigned to by Semites, because their word for "arm" began with that sound...
|
| 100 1010 |
112 |
74 |
4A |
J Ĵ or ĵ is a letter in Esperanto orthography representing the sound .While Esperanto orthography uses a diacritic for its four postalveolar consonants, as do the Latin-based Slavic alphabets, the base letters are Romano-Germanic...
|
| 100 1011 |
113 |
75 |
4B |
KK is the eleventh letter of the English and basic modern Latin alphabet.-History and usage:In English, the letter K usually represents the voiceless velar plosive; this sound is also transcribed by in the International Phonetic Alphabet and X-SAMPA....
|
| 100 1100 |
114 |
76 |
4C |
LŁ or ł, described in English as L with stroke, is a letter of the Polish, Kashubian, Sorbian, Łacinka , Łatynka , Wilamowicean, Navajo, Dene Suline, Inupiaq, Zuni, Hupa, and Dogrib alphabets, several proposed alphabets for the Venetian language, and the ISO 11940 romanization of the Thai alphabet...
|
| 100 1101 |
115 |
77 |
4D |
MM is the thirteenth letter of the basic modern Latin alphabet.-History:The letter M is derived from the Phoenician Mem, via the Greek Mu . Semitic Mem probably originally pictured water...
|
| 100 1110 |
116 |
78 |
4E |
NN is the fourteenth letter in the basic modern Latin alphabet.- History of the forms :One of the most common hieroglyphs, snake, was used in Egyptian writing to stand for a sound like English ⟨J⟩, because the Egyptian word for "snake" was djet...
|
| 100 1111 |
117 |
79 |
4F |
OO is the fifteenth letter and a vowel in the basic modern Latin alphabet.The letter was derived from the Semitic `Ayin , which represented a consonant, probably , the sound represented by the Arabic letter ع called `Ayn. This Semitic letter in its original form seems to have been inspired by a...
|
| 101 0000 |
120 |
80 |
50 |
P P is the sixteenth letter of the basic modern Latin alphabet.-Usage:In English and most other European languages, P is a voiceless bilabial plosive. Both initial and final Ps can be combined with many other discrete consonants in English words...
|
| 101 0001 |
121 |
81 |
51 |
QQ is the seventeenth letter of the basic modern Latin alphabet.- History :The Semitic sound value of Qôp was , a sound common to Semitic languages, but not found in English or most Indo-European ones...
|
| 101 0010 |
122 |
82 |
52 |
RR is the eighteenth letter of the basic modern Latin alphabet.-History:The original Semitic letter may have been inspired by an Egyptian hieroglyph for tp, "head". It was used for by Semites because in their language, the word for "head" was rêš . It developed into Greek Ρ and Latin R...
|
| 101 0011 |
123 |
83 |
53 |
SS is the nineteenth letter in the ISO basic Latin alphabet.-History: Semitic Šîn represented a voiceless postalveolar fricative . Greek did not have this sound, so the Greek sigma came to represent...
|
| 101 0100 |
124 |
84 |
54 |
TT is the 20th letter in the basic modern Latin alphabet. It is the most commonly used consonant and the second most common letter in the English language.- History :Taw was the last letter of the Western Semitic and Hebrew alphabets...
|
| 101 0101 |
125 |
85 |
55 |
U U is the twenty-first letter and a vowel in the basic modern Latin alphabet.-History:The letter U ultimately comes from the Semitic letter Waw by way of the letter Y. See the letter Y for details....
|
| 101 0110 |
126 |
86 |
56 |
V V is the twenty-second letter in the basic modern Latin alphabet.-Letter:The letter V comes from the Semitic letter Waw, as do the modern letters F, U, W, and Y. See F for details....
|
| 101 0111 |
127 |
87 |
57 |
WW is the 23rd letter in the basic modern Latin alphabet.In other Germanic languages, including German, its pronunciation is similar or identical to that of English V...
|
| 101 1000 |
130 |
88 |
58 |
XX is the twenty-fourth letter in the basic modern Latin alphabet.-Uses:In mathematics, x is commonly used as the name for an independent variable or unknown value. The usage of x to represent an independent or unknown variable can be traced back to the Arabic word šay شيء = “thing,” used in Arabic...
|
| 101 1001 |
131 |
89 |
59 |
YY is the twenty-fifth letter in the basic modern Latin alphabet and represents either a vowel or a consonant in English.-Name:In Latin, Y was named Y Graeca "Greek Y". This was pronounced as I Graeca "Greek I", since Latin speakers had trouble pronouncing , which was not a native sound...
|
| 101 1010 |
132 |
90 |
5A |
ZZ is the twenty-sixth and final letter of the basic modern Latin alphabet.-Name and pronunciation:In most dialects of English, the letter's name is zed , reflecting its derivation from the Greek zeta but in American English, its name is zee , deriving from a late 17th century English dialectal...
|
| 101 1011 |
133 |
91 |
5B |
[ |
| 101 1100 |
134 |
92 |
5C |
\ The backslash is a typographical mark used mainly in computing. It was first introduced to computers in 1960 by Bob Bemer. Sometimes called a reverse solidus or a slosh, it is the mirror image of the common slash....
|
| 101 1101 |
135 |
93 |
5D |
] |
| 101 1110 |
136 |
94 |
5E |
^ Caret usually refers to the spacing symbol ^ in ASCII and other character sets. In Unicode, however, the corresponding character is , whereas the Unicode character named caret is actually a similar but lowered symbol: ....
|
| 101 1111 |
137 |
95 |
5F |
The underscore [ _ ] is a character that originally appeared on the typewriter and was primarily used to underline words...
|
|
EWLINE
| Binary | Oct | Dec | Hex | Glyph |
| 110 0000 |
140 |
96 |
60 |
` The grave accent is a diacritical mark used in written Breton, Catalan, Corsican, Dutch, French, Greek , Italian, Mohawk, Norwegian, Occitan, Portuguese, Scottish Gaelic, Vietnamese, Welsh, Romansh, and other languages.-Greek:The grave accent was first used in the polytonic orthography of Ancient...
|
| 110 0001 |
141 |
97 |
61 |
aA is the first letter and a vowel in the basic modern Latin alphabet. It is similar to the Ancient Greek letter Alpha, from which it derives.- Origins :...
|
| 110 0010 |
142 |
98 |
62 |
bB is the second letter in the basic modern Latin alphabet. It is used to represent a variety of bilabial sounds , most commonly a voiced bilabial plosive.-History:...
|
| 110 0011 |
143 |
99 |
63 |
c Ĉ or ĉ is a consonant in Esperanto orthography, representing the sound .Esperanto orthography uses a diacritic for all four of its postalveolar consonants, as do the Latin-based Slavic alphabets...
|
| 110 0100 |
144 |
100 |
64 |
dD is the fourth letter in the basic modern Latin alphabet.- History :The Semitic letter Dâlet may have developed from the logogram for a fish or a door. There are various Egyptian hieroglyphs that might have inspired this. In Semitic, Ancient Greek, and Latin, the letter represented ; in the...
|
| 110 0101 |
145 |
101 |
65 |
e E is the fifth letter and a vowel in the basic modern Latin alphabet. It is the most commonly used letter in the Czech, Danish, Dutch, English, French, German, Hungarian, Latin, Norwegian, Spanish, and Swedish languages.-History:...
|
| 110 0110 |
146 |
102 |
66 |
fF is the sixth letter in the basic modern Latin alphabet.-History:The origin of ⟨f⟩ is the Semitic letter vâv that represented a sound like or . Graphically, it originally probably depicted either a hook or a club...
|
| 110 0111 |
147 |
103 |
67 |
gG is the seventh letter in the basic modern Latin alphabet.-History:The letter 'G' was introduced in the Old Latin period as a variant of ⟨c⟩ to distinguish voiced, from voiceless, . The recorded originator of ⟨g⟩ is freedman Spurius Carvilius Ruga, the first Roman to open a fee-paying school,...
|
| 110 1000 |
150 |
104 |
68 |
hH .) is the eighth letter in the basic modern Latin alphabet.-History:The Semitic letter ⟨ח⟩ most likely represented the voiceless pharyngeal fricative . The form of the letter probably stood for a fence or posts....
|
| 110 1001 |
151 |
105 |
69 |
iI is the ninth letter and a vowel in the basic modern Latin alphabet.-History:In Semitic, the letter may have originated in a hieroglyph for an arm that represented a voiced pharyngeal fricative in Egyptian, but was reassigned to by Semites, because their word for "arm" began with that sound...
|
| 110 1010 |
152 |
106 |
6A |
j Ĵ or ĵ is a letter in Esperanto orthography representing the sound .While Esperanto orthography uses a diacritic for its four postalveolar consonants, as do the Latin-based Slavic alphabets, the base letters are Romano-Germanic...
|
| 110 1011 |
153 |
107 |
6B |
kK is the eleventh letter of the English and basic modern Latin alphabet.-History and usage:In English, the letter K usually represents the voiceless velar plosive; this sound is also transcribed by in the International Phonetic Alphabet and X-SAMPA....
|
| 110 1100 |
154 |
108 |
6C |
lŁ or ł, described in English as L with stroke, is a letter of the Polish, Kashubian, Sorbian, Łacinka , Łatynka , Wilamowicean, Navajo, Dene Suline, Inupiaq, Zuni, Hupa, and Dogrib alphabets, several proposed alphabets for the Venetian language, and the ISO 11940 romanization of the Thai alphabet...
|
| 110 1101 |
155 |
109 |
6D |
mM is the thirteenth letter of the basic modern Latin alphabet.-History:The letter M is derived from the Phoenician Mem, via the Greek Mu . Semitic Mem probably originally pictured water...
|
| 110 1110 |
156 |
110 |
6E |
nN is the fourteenth letter in the basic modern Latin alphabet.- History of the forms :One of the most common hieroglyphs, snake, was used in Egyptian writing to stand for a sound like English ⟨J⟩, because the Egyptian word for "snake" was djet...
|
| 110 1111 |
157 |
111 |
6F |
oO is the fifteenth letter and a vowel in the basic modern Latin alphabet.The letter was derived from the Semitic `Ayin , which represented a consonant, probably , the sound represented by the Arabic letter ع called `Ayn. This Semitic letter in its original form seems to have been inspired by a...
|
| 111 0000 |
160 |
112 |
70 |
p P is the sixteenth letter of the basic modern Latin alphabet.-Usage:In English and most other European languages, P is a voiceless bilabial plosive. Both initial and final Ps can be combined with many other discrete consonants in English words...
|
| 111 0001 |
161 |
113 |
71 |
qQ is the seventeenth letter of the basic modern Latin alphabet.- History :The Semitic sound value of Qôp was , a sound common to Semitic languages, but not found in English or most Indo-European ones...
|
| 111 0010 |
162 |
114 |
72 |
rR is the eighteenth letter of the basic modern Latin alphabet.-History:The original Semitic letter may have been inspired by an Egyptian hieroglyph for tp, "head". It was used for by Semites because in their language, the word for "head" was rêš . It developed into Greek Ρ and Latin R...
|
| 111 0011 |
163 |
115 |
73 |
sS is the nineteenth letter in the ISO basic Latin alphabet.-History: Semitic Šîn represented a voiceless postalveolar fricative . Greek did not have this sound, so the Greek sigma came to represent...
|
| 111 0100 |
164 |
116 |
74 |
tT is the 20th letter in the basic modern Latin alphabet. It is the most commonly used consonant and the second most common letter in the English language.- History :Taw was the last letter of the Western Semitic and Hebrew alphabets...
|
| 111 0101 |
165 |
117 |
75 |
u U is the twenty-first letter and a vowel in the basic modern Latin alphabet.-History:The letter U ultimately comes from the Semitic letter Waw by way of the letter Y. See the letter Y for details....
|
| 111 0110 |
166 |
118 |
76 |
v V is the twenty-second letter in the basic modern Latin alphabet.-Letter:The letter V comes from the Semitic letter Waw, as do the modern letters F, U, W, and Y. See F for details....
|
| 111 0111 |
167 |
119 |
77 |
wW is the 23rd letter in the basic modern Latin alphabet.In other Germanic languages, including German, its pronunciation is similar or identical to that of English V...
|
| 111 1000 |
170 |
120 |
78 |
xX is the twenty-fourth letter in the basic modern Latin alphabet.-Uses:In mathematics, x is commonly used as the name for an independent variable or unknown value. The usage of x to represent an independent or unknown variable can be traced back to the Arabic word šay شيء = “thing,” used in Arabic...
|
| 111 1001 |
171 |
121 |
79 |
yY is the twenty-fifth letter in the basic modern Latin alphabet and represents either a vowel or a consonant in English.-Name:In Latin, Y was named Y Graeca "Greek Y". This was pronounced as I Graeca "Greek I", since Latin speakers had trouble pronouncing , which was not a native sound...
|
| 111 1010 |
172 |
122 |
7A |
zZ is the twenty-sixth and final letter of the basic modern Latin alphabet.-Name and pronunciation:In most dialects of English, the letter's name is zed , reflecting its derivation from the Greek zeta but in American English, its name is zee , deriving from a late 17th century English dialectal...
|
| 111 1011 |
173 |
123 |
7B |
{ |
| 111 1100 |
174 |
124 |
7C |
| The vertical bar is a character with various uses in mathematics, where it can be used to represent absolute value, among others; in computing and programming and in general typography, as a divider not unlike the interpunct...
|
| 111 1101 |
175 |
125 |
7D |
} |
| 111 1110 |
176 |
126 |
7E |
~ The tilde is a grapheme with several uses. The name of the character comes from Portuguese and Spanish, from the Latin titulus meaning "title" or "superscription", though the term "tilde" has evolved and now has a different meaning in linguistics....
|
|
Aliases
A June 1992 RFC and the
Internet Assigned Numbers AuthorityThe Internet Assigned Numbers Authority is the entity that oversees global IP address allocation, autonomous system number allocation, root zone management in the Domain Name System , media types, and other Internet Protocol-related symbols and numbers...
registry of character sets recognize the following case-insensitive aliases for ASCII as suitable for use on the Internet:
Of these, the IANA encourages use of the name "US-ASCII" for
InternetThe Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
uses of ASCII. One often finds this in the optional "charset" parameter in the Content-Type header of some MIME messages, in the equivalent "meta" element of some
HTMLHyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....
documents, and in the encoding declaration part of the prologue of some
XMLExtensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
documents.
Variants
As computer technology spread throughout the world, different
standards bodiesStandardization is the process of developing and implementing technical standards.The goals of standardization can be to help with independence of single suppliers , compatibility, interoperability, safety, repeatability, or quality....
and corporations developed many variations of ASCII to facilitate the expression of non-English languages that used Roman-based alphabets. One could class some of these variations as "
ASCII extensionsThe term extended ASCII describes eight-bit or larger character encodings that include the standard seven-bit ASCII characters as well as others...
", although some misuse that term to represent all variants, including those that do not preserve ASCII's character-map in the 7-bit range.
The
PETSCIIPETSCII , also known as CBM ASCII, is the variation of the ASCII character set used in Commodore Business Machines 's 8-bit home computers, starting with the PET from 1977 and including the VIC-20, C64, CBM-II, Plus/4, C16, C116 and C128...
code
Commodore InternationalCommodore is the commonly used name for Commodore Business Machines , the U.S.-based home computer manufacturer and electronics manufacturer headquartered in West Chester, Pennsylvania, which also housed Commodore's corporate parent company, Commodore International Limited...
used for their 8-bit systems is probably unique among post-1970 codes in being based on ASCII-1963, instead of the more common ASCII-1967, such as found on the
ZX SpectrumThe ZX Spectrum character set is the variant of ASCII used in the British Sinclair ZX Spectrum computers. It is based on ASCII-1967 , but with one character from ASCII-1963 , two non-standard graphics characters, an idiosyncratic use of the control code area and use of the 128 high-bit...
computer.
AtariThe ATASCII character set, from ATARI Standard Code for Information Interchange, alternatively ATARI ASCII, is the variation on ASCII used in the Atari 8-bit family of home computers. The first of this family were the Atari 400 and 800, released in 1979, and later models were released throughout...
and Galaksija computers also used ASCII variants.
Incompatibility vs interoperability
From early in its development, ASCII was intended to be just one of several national variants of an international character code standard, ultimately published as
ISO/IEC 646ISO/IEC 646:1991, Information technology — ISO 7-bit coded character set for information interchange, is an ISO standard that since its first edition in 1972 has specified a 7-bit character code from which several national standards are derived...
(1972), which would share most characters in common but assign other locally-useful characters to several
code pointIn character encoding terminology, a code point or code position is any of the numerical values that make up the code space . For example, ASCII comprises 128 code points in the range 0hex to 7Fhex, Extended ASCII comprises 256 code points in the range 0hex to FFhex, and Unicode comprises 1,114,112...
s reserved for "national use." However, the four years that elapsed between the publication of ASCII-1963 and ISO's first acceptance of an international recommendation during 1967 caused ASCII's choices for the national use characters to seem to be de facto standards for the world, causing confusion and incompatibility once other countries did begin to make their own assignments to these code points.
ISO/IEC 646, like ASCII, was a 7-bit character set. It did not make any additional codes available, so the same code points encoded different characters in different countries. Escape codes were defined to indicate which national variant applied to a piece of text, but they were rarely used, so it was often impossible to know what variant to work with and therefore which character a code represented, and text-processing systems could generally cope with only one variant anyway.
Because the bracket and brace characters of ASCII were assigned to "national use" code points that were used for accented letters in other national variants of ISO/IEC 646, a German, French, or Swedish, etc., programmer using their national variant of ISO/IEC 646, rather than ASCII, had to write, and thus read, something such as
ä aÄiÜ='Ön'; ü
instead of
{ a[i]='\n'; }
C trigraphIn computer programming, digraphs and trigraphs are sequences of two and three characters respectively, appearing in source code, which a programming language specification requires an implementation of that language to treat as if they were one other character.Various reasons exist for using...
s were created to solve this problem for
ANSI CANSI C refers to the family of successive standards published by the American National Standards Institute for the C programming language. Software developers writing in C are encouraged to conform to the standards, as doing so aids portability between compilers.-History and outlook:The first...
, although their late introduction and inconsistent implementation in compilers limited their use.
Eventually, as 8-, 16-, and
32-bitThe range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....
computers began to replace 18- and 36-bit computers as the norm, it became common to use an 8-bit byte to store each character in memory, providing an opportunity for extended, 8-bit, relatives of ASCII, with the 128 additional characters providing room to avoid most of the ambiguity that had been necessary in 7-bit codes.
For example,
IBMInternational Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
developed 8-bit
code pageCode page is another term for character encoding. It consists of a table of values that describes the character set for a particular language. The term code page originated from IBM's EBCDIC-based mainframe systems, but many vendors use this term including Microsoft, SAP, and Oracle Corporation...
s, such as
code page 437IBM PC or MS-DOS code page 437 is the character set of the original IBM PC. It is also known as CP 437, OEM 437, PC-8, MS-DOS Latin US or sometimes misleadingly referred to as the OEM font, High ASCII or Extended ASCII....
, which replaced the control-characters with graphic symbols such as
smiley facesAn emoticon is a facial expression pictorially represented by punctuation and letters, usually to express a writer’s mood. Emoticons are often used to alert a responder to the tenor or temper of a statement, and can change and improve interpretation of plain text. The word is a portmanteau word...
, and mapped additional graphic characters to the upper 128 positions. Operating systems such as
DOSDOS, short for "Disk Operating System", is an acronym for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions 95, 98, and Millennium Edition.Related...
supported these code-pages, and manufacturers of
IBM PCThe IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform. It is IBM model number 5150, and was introduced on August 12, 1981...
s supported them in hardware.
Digital Equipment CorporationDigital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...
developed the
Multinational Character SetThe Multinational Character Set is a character encoding created by Digital Equipment Corporation for use in the popular VT220 terminal. It was an 8-bit extension of ASCII that added accented characters, currency symbols, and other character glyphs missing from 7-bit ASCII...
(DEC-MCS) for use in the popular
VT220The VT220 was a terminal produced by Digital Equipment Corporation from 1983 to 1987.-Hardware:The VT220 improved on the earlier VT100 series of terminals with a redesigned keyboard, much smaller physical packaging, and a much faster microprocessor...
terminalA computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying data from, a computer or a computing system...
.
Eight-bit standards such as
ISO/IEC 8859ISO/IEC 8859 is a joint ISO and IEC series of standards for 8-bit character encodings. The series of standards consists of numbered parts, such as ISO/IEC 8859-1, ISO/IEC 8859-2, etc. There are 15 parts, excluding the abandoned ISO/IEC 8859-12...
(derived from the DEC-MCS) and
Mac OS RomanMac OS Roman is a character encoding primarily used by Mac OS to represent text. It encodes 256 characters, the first 128 of which are identical to ASCII, with the remaining characters including mathematical symbols, diacritics, and additional punctuation marks. It is suitable for use to represent...
developed as true extensions of ASCII, leaving the original character-mapping intact, but adding additional character definitions after the first 128 (i.e., 7-bit) characters. This enabled representation of characters used in a broader range of languages. Because there were several competing 8-bit code standards, they continued to suffer from incompatibilities and limitations. Still, ISO-8859-1 (Latin 1), its variant
Windows-1252Windows-1252 or CP-1252 is a character encoding of the Latin alphabet, used by default in the legacy components of Microsoft Windows in English and some other Western languages. It is one version within the group of Windows code pages...
(often mislabeled as ISO-8859-1), and the original 7-bit ASCII remain the most common character encodings in use today.
Unicode
UnicodeUnicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
and the ISO/IEC 10646
Universal Character SetThe Universal Character Set , defined by the International Standard ISO/IEC 10646, Information technology — Universal multiple-octet coded character set , is a standard set of characters upon which many character encodings are based...
(UCS) have a much wider array of characters, and their various encoding forms have begun to supplant ISO/IEC 8859 and ASCII rapidly in many environments. While ASCII is limited to 128 characters, Unicode and the UCS support more characters by separating the concepts of unique identification (using
natural numberIn mathematics, the natural numbers are the ordinary whole numbers used for counting and ordering . These purposes are related to the linguistic notions of cardinal and ordinal numbers, respectively...
s called
code points) and encoding (to 8-, 16- or 32-bit binary formats, called
UTF-8UTF-8 is a multibyte character encoding for Unicode. Like UTF-16 and UTF-32, UTF-8 can represent every character in the Unicode character set. Unlike them, it is backward-compatible with ASCII and avoids the complications of endianness and byte order marks...
, UTF-16 and UTF-32).
To allow backward compatibility, the 128 ASCII and 256 ISO-8859-1 (Latin 1) characters are assigned Unicode/UCS code points that are the same as their codes in the earlier standards. Therefore, ASCII can be considered a 7-bit encoding scheme for a very small subset of Unicode/UCS, and, conversely, the UTF-8 encoding forms are binary-compatible with ASCII for code points below 128, meaning all ASCII is valid UTF-8. The other encoding forms resemble ASCII in how they represent the first 128 characters of Unicode, but use 16 or 32 bits per character, so they require conversion for compatibility. (similarly UCS-2 is upwards compatible with UTF-16)
Order
ASCII-code order is also called
ASCIIbetical order.
CollationCollation is the assembly of written information into a standard order. One common type of collation is called alphabetization, though collation is not limited to ordering letters of the alphabet...
of data is sometimes done in this order rather than "standard" alphabetical order (
collating sequenceThe term collating sequence refers to the order in which individual characters should be taken when sorting a collection of character strings using dictionary order. This article is concerned with the order of the alphabetical characters comprising variants of the Latin alphabet in various languages...
). The main deviations in ASCII order are:
- All uppercase come before lowercase letters, for example, "Z" before "a"
- Digits and many punctuation marks come before letters, for example, "4" is before "one"
An intermediate order which can be easily implemented converts uppercase letters to lowercase before comparing ASCII values.
See also
- 3568 ASCII
3568 ASCII is a small main belt asteroid discovered by Marguerite Laugier on October 17, 1936.It was named in honor of the ASCII character encoding system that is used by most computers.-External links:...
, an asteroid named after the character encoding
- ASCII art
ASCII art is a graphic design technique that uses computers for presentation and consists of pictures pieced together from the 95 printable characters defined by the ASCII Standard from 1963 and ASCII compliant character sets with proprietary extended characters...
- ASCII Ribbon Campaign
The ASCII ribbon campaign was an Internet phenomenon started in 1998 advocating that e-mail be sent only in plain text, because of inefficiencies or dangers of using HTML e-mail...
- Extended ASCII
The term extended ASCII describes eight-bit or larger character encodings that include the standard seven-bit ASCII characters as well as others...
- HTML decimal character rendering
A numeric character reference in HTML refers to a character by its Universal Character Set/Unicode code point, and uses the formatorwhere nnnn is the code point in decimal form, and hhhh is the code point in hexadecimal form. The x must be lowercase in XML documents. The nnnn or hhhh may be any...
Further reading
(from H.J. Smith, Jr., F.A. Williams, "Survey of punched card codes",
Communications of the ACM 3, 639 & 642, December 1960)
External links