All Topics  
ASCII

 

   Email Print
   Bookmark   Link






 

ASCII



 
 
American Standard Code for Information Interchange (ASCII), is a coding standard that can be used for interchanging information, if the information is expressed mainly by the written form of English words. It is implemented as a character-encoding scheme
Character encoding

A character encoding system consists of a code that pairs a sequence of character from a given character set with something else, such as a sequence of natural numbers, octet or electrical pulses, in order to facilitate the transmission of data through telecommunication networks and/or Computer data storage of Character in compute...
 based on the ordering
Order (mathematics)

Order in mathematics may refer to:...
 of the English alphabet
English alphabet

The modern English alphabet is a Latin-based alphabet consisting of 26 letters, like in the Basic modern Latin alphabet:The exact shape of printed letters varies depending on the typeface....
. ASCII codes represent text
Character (computing)

In 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 language form of a natural language....
 in computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
s, communications
Telecommunication

Telecommunication is the assisted Transmission of Signal over a distance for the purpose of communication. In earlier times, this may have involved the use of smoke signals, Drum , Semaphore line, flag signals or heliograph....
 equipment, and other devices that work with text. Most modern character-encoding schemes
Character encoding

A character encoding system consists of a code that pairs a sequence of character from a given character set with something else, such as a sequence of natural numbers, octet or electrical pulses, in order to facilitate the transmission of data through telecommunication networks and/or Computer data storage of Character in compute...
—which support many more characters than did the original—have a historical basis in ASCII.

Historically, ASCII developed from telegraphic codes
Telegraph code

A telegraph code is a character encoding used to transmit information through telegraphy machines. The most famous such code is Morse code....
.






Discussion
Ask a question about 'ASCII'
Start a new discussion about 'ASCII'
Answer questions from other users
Full Discussion Forum



Encyclopedia


American Standard Code for Information Interchange (ASCII), is a coding standard that can be used for interchanging information, if the information is expressed mainly by the written form of English words. It is implemented as a character-encoding scheme
Character encoding

A character encoding system consists of a code that pairs a sequence of character from a given character set with something else, such as a sequence of natural numbers, octet or electrical pulses, in order to facilitate the transmission of data through telecommunication networks and/or Computer data storage of Character in compute...
 based on the ordering
Order (mathematics)

Order in mathematics may refer to:...
 of the English alphabet
English alphabet

The modern English alphabet is a Latin-based alphabet consisting of 26 letters, like in the Basic modern Latin alphabet:The exact shape of printed letters varies depending on the typeface....
. ASCII codes represent text
Character (computing)

In 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 language form of a natural language....
 in computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
s, communications
Telecommunication

Telecommunication is the assisted Transmission of Signal over a distance for the purpose of communication. In earlier times, this may have involved the use of smoke signals, Drum , Semaphore line, flag signals or heliograph....
 equipment, and other devices that work with text. Most modern character-encoding schemes
Character encoding

A character encoding system consists of a code that pairs a sequence of character from a given character set with something else, such as a sequence of natural numbers, octet or electrical pulses, in order to facilitate the transmission of data through telecommunication networks and/or Computer data storage of Character in compute...
—which support many more characters than did the original—have a historical basis in ASCII.

Historically, ASCII developed from telegraphic codes
Telegraph code

A telegraph code is a character encoding used to transmit information through telegraphy machines. The most famous such code is Morse code....
. Its first commercial use was as a seven-bit
Bit

A bit is a binary numeral system numerical digit, taking a value of either 0 or 1. Binary digits are a basic unit of information Computer data storage and transmission in digital computing and digital information theory....
 teleprinter
Teleprinter

A teleprinter is a now largely obsolete electro-mechanical typewriter which can be used to communicate typed messages from Point-to-point and Point-to-multipoint communication over a variety of communications channels that range from a simple electrical connection, such as a pair of wires, to the use of radio and microwave as the transmi...
 code promoted by Bell data services. Work on ASCII formally began 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 in 1963, a major revision in 1967, and the most recent update in 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, mostly-obsolete control character
Control character

In computing and telecommunication, a control Grapheme or non-printing character is a code point in a character encoding, that does not in itself represent a written symbol....
s that affect how text is processed; 94 are printable characters, and the space
Space (punctuation)

In writing, a space is a blank area that is devoid of content, which word divider, letters, numbers, and punctuation. Conventions for interword separation and intersentence spaces vary among languages, and in some cases the spacing rules are quite complex....
 is considered an invisible graphic. The ASCII character-encoding scheme is the most-commonly-used character set on the Internet
Internet

The Internet is a global network of interconnected computers, enabling users to share information along multiple channels. Typically, a computer that connects to the Internet can access information from a vast array of available server and other computers by moving information from them to the computer's local memory....
.

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 Institute
American National Standards Institute

The American National Standards Institute or ANSI 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 X3.2 subcommittee designed ASCII based on earlier teleprinter
Teleprinter

A teleprinter is a now largely obsolete electro-mechanical typewriter which can be used to communicate typed messages from Point-to-point and Point-to-multipoint communication over a variety of communications channels that range from a simple electrical connection, such as a pair of wires, to the use of radio and microwave as the transmi...
 encoding systems. Like other character encoding
Character encoding

A character encoding system consists of a code that pairs a sequence of character from a given character set with something else, such as a sequence of natural numbers, octet or electrical pulses, in order to facilitate the transmission of data through telecommunication networks and/or Computer data storage of Character in compute...
s, ASCII specifies a correspondence between digital bit patterns and character
Character (computing)

In 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 language form of a natural language....
 symbols (i.e. grapheme
Grapheme

In typography, a grapheme is the fundamental unit in writing systems. Graphemes include letter , Chinese characters, numerals, punctuation marks, and all the individual symbols of any of the world's writing systems....
s and control character
Control character

In computing and telecommunication, a control Grapheme or non-printing character is a code point in a character encoding, that does not in itself represent a written symbol....
s). This allows digital
Digital

A digital system uses discrete values, usually but not always symbolized numerically to represent information for input, processing, transmission, storage, etc....
 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 alphabetic
English alphabet

The modern English alphabet is a Latin-based alphabet consisting of 26 letters, like in the Basic modern Latin alphabet:The exact shape of printed letters varies depending on the typeface....
 characters, 10 numerical digit
Numerical digit

In mathematics and computer science, a digit is a symbol used in numerals , to represent numbers, in Positional notation 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, Fieldata
Fieldata

Fieldata was a pioneering computer project run by the United States Army Signal Corps in the late 1950s that intended to create a single standard for collecting and distributing battlefield information....
, and early EBCDIC
EBCDIC

Extended Binary Coded Decimal Interchange Code is an 8-bit character encoding used on IBM mainframe operating systems such as z/OS, OS/390, VM and VSE , as well as IBM midrange computer operating systems such as OS/400 and i5/OS ....
, more than 64 codes were required in ASCII.

The committee debated the possibility of a shift key
Shift key

The shift key is a modifier key on a alphanumeric keyboard, used to type majuscule 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 code
Baudot code

The Baudot code, invented by ?mile Baudot, is a character encoding predating EBCDIC and ASCII, and the root predecessor to International Telegraph Alphabet No 2 , the teleprinter code in use until the advent of ASCII....
), which would allow more than 64 codes to be represented by six bits
BITS

BITS or bits may refer to:* Binary digits* Drill bits* The pieces of a Spanish dollar* Bits , a Beanie Baby teddy bear produced by Ty, Inc....
. 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 transmission; 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 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 bit
Parity bit

A parity bit is a bit that is added to ensure that the number of bits with value of 1 in a given set of bits is always even number or odd number....
 for error checking if desired. Machines with octets
Octet (computing)

In computing, an octet is a grouping of eight bits.Octet, with the only exception noted below, always refers to an entity having exactly eight bits....
 as the native data type that did not use parity checking typically set the eighth bit to 0.

The code itself was structured so that most control codes were together, and all graphic codes were together. The first two columns (32 positions) were reserved for control characters. The "space" character
Space (punctuation)

In writing, a space is a blank area that is devoid of content, which word divider, letters, numbers, and punctuation. Conventions for interword separation and intersentence spaces vary among languages, and in some cases the spacing rules are quite complex....
 had to come before graphics to make sorting algorithm
Sorting algorithm

In computer science and mathematics, a sorting algorithm is an algorithm that puts elements of a List in a certain Total order. The most-used orders are numerical order and lexicographical order....
s easy, so it became position 32. The committee decided it was important to support upper case 64-character alphabets, and chose to structure ASCII so it could easily be reduced to a usable 64-character set of graphic codes. Lower case letters were therefore not interleaved with upper case. To keep options open for lower case letters and other graphics, the special and numeric codes were placed before the letters, and the letter 'A' was placed in position 65 to match the draft of the corresponding British standard. The digits 0–9 were placed so they correspond to values in binary prefixed with 011, making conversion with binary-coded decimal
Binary-coded decimal

In computing and electronics systems, binary-coded decimal is an encoding for decimal numbers in which each digit is represented by its own binary sequence....
 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 64 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 message (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 distance
Hamming distance

In information theory, the Hamming distance between two String s of equal length is the number of positions for 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. It now seems obvious that these positions should have been assigned to the lower case alphabet, but there was some debate at the time whether there should be more control characters instead. The indecision did not last long: in 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 Standardization
International Organization for Standardization

The International Organization for Standardization , widely known as ISO , is an international standard-setting body composed of representatives from various national standards organizations....
 TC 97 SC 2 voted in 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 brace
Bracket

Brackets are punctuation marks used in pairs to set apart or interject text within other text. In computer science, the term is sometimes said to strictly apply to the square or box type....
 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 bit 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 card formats.

ASCII itself first entered commercial use in 1963 as a seven-bit teleprinter code for American Telephone & Telegraph
American Telephone & Telegraph

AT&T Corporation, originally the American Telephone & Telegraph Company, is an United States telecommunications company that provided voice, video, data, and Internet telecommunications and professional services to businesses, consumers, and government agencies....
's TWX
TWX

TWX may refer to:* Telegraphy#Telex , a telegraphy system.* Time Warner's stock ticker symbol....
 (Teletype Wide-area eXchange) network. TWX originally used the earlier five-bit Baudot code
Baudot code

The Baudot code, invented by ?mile Baudot, is a character encoding predating EBCDIC and ASCII, and the root predecessor to International Telegraph Alphabet No 2 , the teleprinter code in use until the advent of ASCII....
, which was also used by the competing Telex
Telex

Telex may refer to:* Telegraphy#Telex, a communications network** Teleprinter, the device used on the above network* Telex , a Belgian pop group...
 teleprinter system. Bob Bemer
Bob Bemer

Robert William Bemer was a computer scientist best known for his work at IBM during the late 1950s and early 1960s....
 introduced features such as the escape sequence. His British colleague Hugh McGregor Ross
Hugh McGregor Ross

Hugh 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 Ferranti Pegasus Vacuum tube computer....
 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".

On March 11, 1968, U.S. President Lyndon B. Johnson
Lyndon B. Johnson

Lyndon Baines Johnson , often referred to as LBJ, was the List of Presidents of the United States President of the United States and List of Vice Presidents of the United States 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 646
ISO/IEC 646

ISO 646 is an International Organization for Standardization standard that since 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
English alphabet

The modern English alphabet is a Latin-based alphabet consisting of 26 letters, like in the Basic modern Latin alphabet:The exact shape of printed letters varies depending on the typeface....
 and symbols used outside the United States, such as the symbol for the United Kingdom
United Kingdom

The United Kingdom of Great Britain and Northern Ireland, commonly known as the United Kingdom , the UK or Britain,is a sovereign state located off the northwestern coast of continental Europe....
's pound sterling
Pound sterling

----The pound sterling , subdivided into 100 pence , is the currency of the United Kingdom, its Crown dependency and the British Overseas Territories of South Georgia and the South Sandwich Islands and British Antarctic Territory....
 (£). 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 ISCII
ISCII

Indian Script 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....
 (India), VISCII
VISCII

The Vietnamese Standard Code for Information Interchange is a character set comprising the Vietnamese alphabet, punctuation, and other graphemes....
 (Vietnam), and YUSCII
YUSCII

YUSCII was an informal name for JUS I.B1.002, national variant of ISO 646, 7-bit Latin alphabet Character encoding, 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 strictly defined only by ANSI standard.

ASCII was incorporated into the Unicode
Unicode

Unicode is a computing industry standard allowing computers to consistently represent and manipulate Character 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-8
UTF-8

UTF-8 is a Variable-width encoding character encoding for Unicode. It is able to represent any character in the Unicode standard, yet the initial encoding of byte codes and character assignments for UTF-8 is backward compatibility with ASCII....
 to be backward compatible
Backward compatibility

In technology, for example in telecommunications and computing, a device or technology is said to be backwards compatible if it allows input generated by older devices....
 with ASCII, a significant advantage.

Asteroid 3568 ASCII
3568 ASCII

3568 ASCII is a small asteroid belt asteroid discovered by Marguerite Laugier in 1936.It was named in honor of the ASCII character encoding system that is used by most computers....
 is named after the character encoding.

ASCII control characters

ASCII reserves the first 32 codes (numbers 0–31 decimal) for control character
Control character

In computing and telecommunication, a control Grapheme or non-printing character is a code point in a character encoding, that does not in itself represent a written symbol....
s: codes originally intended not to carry printable information, but rather to control devices (such as printer
Computer printer

File:Lexmark X5100 Series.jpgIn computing, a printer is a peripheral which produces a hard copy of documents stored in computer file form, usually on physical print media such as paper or Transparency ....
s) that make use of ASCII, or to provide meta-information 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 space 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 language
Markup language

A markup language is a set of codes that give instructions regarding the structure of a text or how it is to be displayed. Markup languages have been in use for centuries, and in recent years have been used in computer typesetting and word-processing systems to specify the formatting, layout, structure, and other elements of a document....
s, address page and document layout and formatting.

The original ASCII standard used only short descriptive phrases for each control character. The ambiguity this left was sometimes intentional (where a character would be used slightly differently on a terminal link than on a data stream) and sometimes more accidental (such as what "delete" means).

Probably the most influential single device on the interpretation of these characters was the ASR-33 Teletype series, which was a printing terminal with an available paper tape
Punched tape

Punched tape or paper tape is a largely 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 up through the 1980s, lower cost and in some ways less fragile than magnetic tape. In particular, the Teletype 33 machine assignments for codes 17 (Control-Q, DC1, also known as XON), 19 (Control-S, DC3, also known as XOFF), and 127 (DELete) 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 faded out.

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 gave no 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 specifically useful for paper tape
Punched tape

Punched tape or paper tape is a largely obsolete form of data storage, consisting of a long strip of paper in which holes are punched to store data....
, 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 today.

Many more of the control codes have taken on meanings quite different from their original ones. The "escape" character (code 27), for example, was originally intended 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 drifted. 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 code
ANSI escape code

ANSI escape sequences are used to control text formatting and other output options on text terminals. In this context, American National Standards Institute refers to the ANSI X3.64 standard ....
" (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-band
Out-of-band

Out-of-band is a technical term with different uses in communications and telecommunication. It refers to communications which occur outside of a previously established communications method or channel....
 character used to terminate an operation, as in the TECO
Text Editor and Corrector

TECO 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 vi
Vi

vi is a family of screen-oriented text editors which share common characteristics, such as methods of invocation from the operating system command interpreter, and characteristic user interface features....
 text editors.

The inherent ambiguity of many control characters, combined with their historical usage, created problems when transferring "plain text" files between systems. The clearest example of this is the newline
Newline

In computing, a newline 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 text, immediately proceeding the newline....
 problem on various operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s. On printing terminals there is no question that you terminate a line of text 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 text files on Unix and Amiga systems use line feeds alone to separate lines. Similarly, older Macintosh systems, among others, use only carriage returns in plain text files. Various DEC
Digital Equipment Corporation

Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC ....
 operating systems used both characters to mark the end of a line, perhaps for compatibility with teletypes
Teleprinter

A teleprinter is a now largely obsolete electro-mechanical typewriter which can be used to communicate typed messages from Point-to-point and Point-to-multipoint communication over a variety of communications channels that range from a simple electrical connection, such as a pair of wires, to the use of radio and microwave as the transmi...
, and this de facto standard was copied in the CP/M
CP/M

CP/M is an operating system originally created for Intel 8080/Intel 8085 based microcomputers by Gary Kildall of Digital Research. Initially confined to single tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations, and were migrated to 16-bit processors....
 operating system and then in MS-DOS
MS-DOS

MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s....
 and eventually Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
. Transmission of text over the Internet
Internet

The Internet is a global network of interconnected computers, enabling users to share information along multiple channels. Typically, a computer that connects to the Internet can access information from a vast array of available server and other computers by moving information from them to the computer's local memory....
, for protocols as E-mail
E-mail

Electronic mail, often abbreviated as e-mail, email, E-Mail, or eMail, is any method of creating, transmitting, or storing primarily text-based human communications with digital communications systems....
 and the World Wide Web
World Wide Web

The World Wide Web is a very large set of interlinked hypertext documents accessed via the Internet. With a Web browser, one can view Web pages that may contain writing, s, videos, and other multimedia and navigate between them using hyperlinks....
, uses both characters.

The DEC 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 (also done for CP/M compatibility in some cases in MS-DOS, though MS-DOS has always recorded exact file-lengths). Text strings
String (computer science)

In computer programming and some branches of mathematics, a string is an ordered sequence of symbols. These symbols are chosen from a predetermined set or alphabet....
 ending with the null character
Null character

The null character is a character with the value zero, present in the ASCII and Unicode character sets, and available in nearly all mainstream programming languages....
 are known as ASCIZ or C string
C string

In computing, a C string is a character string stored as a one-dimensional character array and terminated with a null character . The name refers to the ubiquitous C which uses this string #Representations....
s.

Binary Oct Dec Hex Abbr PRPrintable Representation, the Unicode
Unicode

Unicode is a computing industry standard allowing computers to consistently represent and manipulate Character 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.
CSControl key Sequence/caret notation
Caret notation

Caret notation is a notation for unprintable control characters in ASCII. 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....
, the traditional key sequences for inputting control characters. The caret (^) that begins these sequences is not meant to signify the literal ^ character; rather, it represents the "Control" or "Ctrl" key that must be held down while pressing the second key in the sequence. Note that ^^ means Control-Caret (pressing the "Ctrl" and "^" keys), not Control-Control. The caret-key representation is also used by some software to represent control characters.
CECCharacter Escape Codes in C programming language
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
 and many other languages influenced by it, such as Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
 and Perl
Perl

In computer programming, Perl is a high-level programming language, List of programming languages by category, Interpreter , dynamic programming language....
 (though not all implementations necessarily support all escape codes).
Description
000 0000 000 0 00NUL ^@ \0 Null character
Null character

The null character is a character with the value zero, present in the ASCII and Unicode character sets, and available in nearly all mainstream programming languages....
000 0001 001 1 01SOH ^A Start of Header
000 0010 002 2 02STX ^B Start of Text
000 0011 003 3 03ETX ^C
Control-C

In computing, control-C is a control character in ASCII code, also known as the end of text character. It is generated by pressing the key while holding down the key on a computer keyboard....
 
End of Text
End-of-text character

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....
000 0100 004 4 04EOT ^D End of Transmission
End-of-transmission character

In telecommunication, an end-of-transmission character is a transmission control character used to indicate the conclusion of a transmission that may have included one or more texts and any associated message headings....
000 0101 005 5 05ENQ ^E Enquiry
Enquiry (computer communications)

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....
000 0110 006 6 06ACK ^F Acknowledgment
Acknowledge character

For teleprinters, Acknowledge character is a transmission control character transmitted by the receiving station as an affirmative response to the sending station....
000 0111 007 7 07BEL^G \a Bell
Bell character

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 08BS^H \b Backspace
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 "Backspace", "Bksp", or ? key on some systems.The ambiguity surrounding Backspace comes from mismatches between the intent of the human or software transmitting the Backspace and the interpretation by the software receiving it. If the transmitter expects Backspace to erase the previous character and the receiver expects Delete to be used to erase the previous character, many receivers will echo the Backspace as "^H", just as they would echo any other uninterpreted control character. (A similar mismatch in the other direction may yield Delete displayed as "^?".)
000 1001 011 9 09HT^I \t Horizontal Tab
Tab key

Tab key on a alphanumeric keyboard is used to advance the cursor to the next tab stop....
000 1010 012 10 0ALF^J \n Line feed
Newline

In computing, a newline 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 text, immediately proceeding the newline....
000 1011 013 11 0BVT^K \v Vertical Tab
000 1100 014 12 0CFF^L \f Form feed
000 1101 015 13 0DCR^M
Carriage return

Originally, carriage return was the term for the control character in Baudot code on a Teleprinter for end of line return to beginning of line and did not include line feed....
\r Carriage return
Carriage return

Originally, carriage return was the term for the control character in Baudot code on a Teleprinter for end of line return to beginning of line and did not include line feed....
The Carriage Return character can also be entered by pressing the "Return", "Ret", "Enter", or key on most systems.
000 1110 016 14 0ESO^N  Shift Out
Shift Out and Shift In characters

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 language character set known as KOI7, where SO starts printing Russian alphabet, and SI starts printing Lati...
000 1111 017 15 0FSI^O  Shift In
Shift Out and Shift In characters

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 language character set known as KOI7, where SO starts printing Russian alphabet, and SI starts printing Lati...
001 0000 020 16 10DLE^P  Data Link Escape
001 0001 021 17 11DC1^Q  Device Control 1 (oft. XON
Xon/Xoff

Software flow control is a method of flow control used in computer data links, especially RS-232. It uses special codes, transmitted in-band signaling, over the primary communications channel....
)
001 0010 022 18 12DC2^R  Device Control 2
001 0011 023 19 13DC3^S  Device Control 3 (oft. XOFF
Xon/Xoff

Software flow control is a method of flow control used in computer data links, especially RS-232. It uses special codes, transmitted in-band signaling, over the primary communications channel....
)
001 0100 024 20 14DC4^T  Device Control 4
001 0101 025 21 15NAK^U  Negative Acknowledgement
Negative-acknowledge character

* 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 telecommunication connection has been set up....
001 0110 026 22 16SYN^V
Control-V

In computing, Control-V is a control character in ASCII code, also known as the synchronous idle character. It is generated by pressing the key while holding down the key on a computer keyboard....
  Synchronous Idle
001 0111 027 23 17ETB^W  End of Trans. Block
001 1000 030 24 18CAN^X
Control-X

In computing, control-X is a control character in ASCII code, also known as the cancel character. It is generated by pressing the key while holding down the key on a computer keyboard....
  Cancel
Cancel character

In telecommunication, the term cancel character has the following meanings:#A accuracy and precision 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 19EM^Y
Control-Y

For computer applications, the combinations of the Control Key and Y will redo a previous action that the user chose to undo. In vi and emacs this does a yank or copy action....
  End of Medium
001 1010 032 26 1ASUB^Z
Control-Z

In computing, control-Z is a control character in ASCII code, also known as the substitute character. It is generated by pressing the key while holding down the key on a computer keyboard....
  Substitute
Substitute character

Substitute character : 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 1BESC^[ \eThe '\e' escape sequence is not part of ISO C and many other language specifications. However, it is understood by several compilers. Escape
Escape character

In computing and telecommunication, an escape character is a single character which in a sequence of characters signifies that what is to follow takes an alternative interpretation....
The Escape character can also be entered by pressing the "Escape" or "Esc" key on some systems.
001 1100 034 28 1CFS^\  File Separator
001 1101 035 29 1DGS^]  Group Separator
001 1110 036 30 1ERS^^  Record Separator
001 1111 037 31 1FUS^_  Unit Separator
 
111 1111 177 127 7FDEL^?  DeleteThe Delete character can also be entered by pressing the "Delete" or "Del" key. It can also be entered by pressing the "Backspace", "Bksp", or ? key on some systems.


ASCII printable characters

Code 32, the "space" character
Space (punctuation)

In writing, a space is a blank area that is devoid of content, which word divider, letters, numbers, and punctuation. Conventions for interword separation 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. The "space" character is considered an invisible graphic rather than a control character. Codes 33 to 126, known as the printable characters, represent letters, digits, punctuation marks, and a few miscellaneous symbols.

Seven-bit ASCII provided seven "national" characters and, if the combined hardware and software permit, can use overstrikes to simulate some additional international characters: in such a scenario a backspace can precede a grave accent
Grave accent

The grave accent is a diacritical mark used in written Catalan language, French language, Greek language until 1982 , Italian language, Norwegian language, Occitan language, Portuguese language, Scottish Gaelic language, Vietnamese language, Welsh language, Dutch language, and other languages....
 (which the American and British standards, but only those standards, also call "opening single quotation mark"), a backtick, or a breath mark (inverted vel).

Binary Oct
Octal

The octal numeral system, or oct for short, is the radix-8 number system, and uses the digits 0 to 7. Numerals can be made from Binary numeral system numerals by grouping consecutive digits into groups of three ....
 
Dec
Decimal system

Decimal system may refer to:* The decimal number system, used in mathematics for writing numbers and performing arithmetic.* The Dewey Decimal Classification, a subject classification system used in libraries....
 
Hex
Hexadecimal

In mathematics and computer science, hexadecimal is a numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 09 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen....
 
Glyph
010 0000 040 32 20
Space (punctuation)

In writing, a space is a blank area that is devoid of content, which word divider, letters, numbers, and punctuation. Conventions for interword separation and intersentence spaces vary among languages, and in some cases the spacing rules are quite complex....
010 0001 041 33 21 !
Exclamation mark

An exclamation mark or exclamation point is a punctuation mark: ! It is usually used after an interjection or exclamation to indicate strong feelings or high volume, and often marks the end of a sentence....
010 0010 042 34 22 "
Quotation mark

Quotation marks or inverted commas are punctuation marks used in pairs to set off speech, a quotation, a phrase or a word. The pair consists of an opening quotation mark and a closing quotation mark, which may or may not be the same character....
010 0011 043 35 23 #
Number sign

'Number sign' is a name for the symbol '#'; it is the preferred Unicode name for the code point associated with that glyph. The symbol is similar to the musical symbol called Sharp ....
010 0100 044 36 24 $
Dollar sign

The dollar sign or peso sign is a symbol primarily used to indicate a unit of currency....
010 0101 045 37 25 %
Percent sign

The percent sign is the symbol used to indicate a percentage . It is represented in Unicode by .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 &
Ampersand

An ampersand , also commonly called an " 'and' sign," is a logogram representing the grammatical conjunction "and". The symbol is a Typographic ligature of the letters in et, Latin for "and"....
010 0111 047 39 27 '
Apostrophe

The apostrophe is a punctuation mark, and sometimes a diacritic mark, in languages that use the Latin alphabet or certain other alphabets. In English it has two main functions: it marks omissions, and it assists in marking the possessives of all nouns and many pronouns....
010 1000 050 40 28 (
Bracket

Brackets are punctuation marks used in pairs to set apart or interject text within other text. In computer science, the term is sometimes said to strictly apply to the square or box type....
010 1001 051 41 29 )
Bracket

Brackets are punctuation marks used in pairs to set apart or interject text within other text. In computer science, the term is sometimes said to strictly apply to the square or box type....
010 1010 052 42 2A *
Asterisk

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 ,
Comma (punctuation)

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....
010 1101 055 45 2D -
Hyphen

A hyphen is a punctuation mark. It is used both to join words and also to separate syllables of a single word. It is often confused with the dash , which are longer and have different uses, and with the minus sign which is also longer....
010 1110 056 46 2E .
Full stop

A full stop or period , is the punctuation mark commonly placed at the end of several different types of Sentence s in English language and many other languages....
010 1111 057 47 2F /
Slash (punctuation)

The slash is a punctuation mark. It is also called a virgule, diagonal, stroke, forward slash, oblique dash, slant, separatrix, scratch comma, over, slak, whack....
011 0000 060 48 30 0
0

0 may refer to:* 0 , the integer between +1 and -1* 0 or year zero, the year that precedes the year 1 AD in making astronomical calculations...
011 0001 061 49 31 1
1 (number)

1 is a number, number names, and the name of the glyph representing that number.It represents a single entity, the unit of counting or measurement....
011 0010 062 50 32 2
2 (number)

2 is a number, numeral, and glyph. It is the natural number following 1 and preceding 3 ....
011 0011 063 51 33 3
3 (number)

----3 is a number, Numeral system, and glyph. It is the natural number following 2 and preceding 4 ....
011 0100 064 52 34 4
4 (number)

This article discusses the number Four. For the year 4 AD, see 4. For other uses of 4, see 4 4 is a number, numeral, and glyph....
011 0101 065 53 35 5
5 (number)

5 is a number, numeral, and glyph. It is the natural number following 4 and preceding 6 ....
011 0110 066 54 36 6
6 (number)

6 is the natural number following 5 and preceding 7 .The SI prefix for 10006 is exa , and for its reciprocal atto ....
011 0111 067 55 37 7
7 (number)

7 is the natural number following 6 and preceding 8 . It is the smallest positive integer to be spoken with two syllables when pronounced in English....
011 1000 070 56 38 8
8 (number)

8 is the natural number, following 7 and preceding 9 . The SI prefix for 10008 is yotta , and for its reciprocal yocto . It is the root of two other numbers: eighteen and eighty ....
011 1001 071 57 39 9
9 (number)

9 is the natural number following 8 and preceding 10 . The ordinal adjective is ninth....
011 1010 072 58 3A :
Colon (punctuation)

The colon is a punctuation mark, consisting of two equally sized dots centered on the same vertical line....
011 1011 073 59 3B ;
Semicolon

A semicolon is a conventional punctuation mark with several uses, mainly for pauses in sentences. The Italy printer Aldus Manutius the Elder established the practice of using the semicolon mark to separate words of opposed meaning, and to indicate interdependent statements....
011 1100 074 60 3C <
Less-than sign

ComputingThe less-than sign is an original ASCII character ....
011 1101 075 61 3D =
Equals sign

The equal sign, equals sign, or "=" is a mathematical symbol used to indicate equality . It was invented in 1557 by Welsh people Robert Recorde....
011 1110 076 62 3E >
011 1111 077 63 3F ?
Question mark

The question mark , also known as an interrogation point, question point, query, or eroteme, is a punctuation that replaces the Full stop at the end of an interrogative sentence....


Binary Oct
Octal

The octal numeral system, or oct for short, is the radix-8 number system, and uses the digits 0 to 7. Numerals can be made from Binary numeral system numerals by grouping consecutive digits into groups of three ....
 
Dec
Decimal system

Decimal system may refer to:* The decimal number system, used in mathematics for writing numbers and performing arithmetic.* The Dewey Decimal Classification, a subject classification system used in libraries....
 
Hex
Hexadecimal

In mathematics and computer science, hexadecimal is a numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 09 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen....
 
Glyph
100 0000 100 64 40 @
100 0001 101 65 41 A
A

The letter A is the first letter in the Latin alphabet. Its name in English language is a ; the plural is aes or, more commonly, a's....
100 0010 102 66 42 B
B

For technical reasons, B# redirects here. For the musical note, see C B is the second letter in the Latin alphabet. Its name in English language is spelled bee , plural bees....
100 0011 103 67 43 C
C

C or c is a consonant in Esperanto orthography, representing a voiceless postalveolar affricate , and is equivalent to the voiceless postalveolar affricate, , or the voiceless retroflex affricate, ...
100 0100 104 68 44 D
D

D is the fourth letter in the Latin alphabet. Its name in English language is spelled dee , plural dees....
100 0101 105 69 45 E
E

E is the fifth letter in the Latin alphabet. Its name in English language is spelled e , plural ees . The letter E is the most commonly used letter in the Czech language, Danish language, Dutch language, English language, French language, German language, Hungarian language, Latin language, Norwegian language, Spanish language...
100 0110 106 70 46 F
F

F is the sixth letter in the Latin alphabet. Its name in English language is spelled ef or eff ....
100 0111 107 71 47 G
G

G is the seventh letter in the Latin alphabet. Its name in English language is spelled gee....
100 1000 110 72 48 H
H

H is the eighth letter in the Latin alphabet. Its name in both British English and American English is aitch , though it is also pronounced haitch in some dialects ....
100 1001 111 73 49 I
I

I is the ninth Letter of the Latin alphabet. Its English language name is i ....
100 1010 112 74 4A J
J

J or j is a consonant in Esperanto orthography, representing a voiced postalveolar fricative , and is equivalent to the voiced postalveolar fricative, , or the voiced retroflex fricative, ....
100 1011 113 75 4B K
K

K is the eleventh letter of the modern Latin alphabet. Its name in English language is spelled kay ....
100 1100 114 76 4C L
L

L or l, described in English language as L with stroke, is a letter of the Polish alphabet, Kashubian alphabet, Sorbian alphabet, Lacinka alphabet , Wymysorys, Navajo language, Dene Suline language, Inupiaq language and Dogrib language alphabets, and of several proposed alphabets for the Venetian language....
100 1101 115 77 4D M
M

M is the thirteenth letter of the modern Latin alphabet. Its name in English language is spelled em ....
100 1110 116 78 4E N
N

N is the fourteenth letter in the Latin alphabet. Its name in English language is spelled en ....
100 1111 117 79 4F O
O

O is the fifteenth letter of the modern Latin alphabet. Its name in English language is spelled o , plural oes ....
101 0000 120 80 50 P
P

P is the sixteenth letter of the modern Latin alphabet. Its name in English language is pronounced pee ....
101 0001 121 81 51 Q
Q

Q is the seventeenth letter of the modern Latin alphabet. Its name in English language is spelled cue ....
101 0010 122 82 52 R
R

R is the eighteenth letter of the modern Latin alphabet. Its name in English language is spelled ar ....
101 0011 123 83 53 S
S

S is the nineteenth letter in the modern Latin alphabet. Its name in English language is spelled ess or generally es- when part of a compound word, plural esses....
101 0100 124 84 54 T
T

T is the twentieth letter in the modern Latin alphabet. Its name in English language is spelled tee . It is the most commonly used consonant and the second most common letter in the English language....
101 0101 125 85 55 U
U

U is the twenty-first letter in the modern Latin alphabet. Its name in English language is spelled u ....
101 0110 126 86 56 V
V

V is the twenty-second letter in the modern Latin alphabet. Its name in English language is spelled vee ....
101 0111 127 87 57 W
W

W is the 23 letter in the Latin alphabet. Its name in English language is spelled double-u ....
101 1000 130 88 58 X
X

X is the twenty-fourth letter in the modern Latin alphabet. Its name in English language is spelled ex , plural exes .History...
101 1001 131 89 59 Y
Y

The letter Y is the twenty-fifth letter in the modern Latin alphabet. Its name in English language is spelled wye or occasionally wy' , plural wyes....
101 1010 132 90 5A Z
Z

Z is the twenty-sixth and final Letter of the modern English alphabet....
101 1011 133 91 5B [
Bracket

Brackets are punctuation marks used in pairs to set apart or interject text within other text. In computer science, the term is sometimes said to strictly apply to the square or box type....
101 1100 134 92 5C \
Backslash

The backslash is a typographical mark used chiefly in computing. It was first introduced to computers in 1960 by Bob Bemer. Sometimes called a reverse solidus or an oblique, it is the mirror image of the common slash ....
101 1101 135 93 5D ]
Bracket

Brackets are punctuation marks used in pairs to set apart or interject text within other text. In computer science, the term is sometimes said to strictly apply to the square or box type....
101 1110 136 94 5E ^
Caret

Caret, sometimes spelled phonetically, Carat, is the name for the symbol ^ in ASCII and some other character sets. Its Unicode code point is U+005E, and its ASCII code in hexadecimal is 5E....
101 1111 137 95 5F _
Underscore

The underscore [ _ ] is a character that originally appeared on the typewriter. Prior to the advent of word processing, the underscore character was the only method of underline words....


Binary Oct
Octal

The octal numeral system, or oct for short, is the radix-8 number system, and uses the digits 0 to 7. Numerals can be made from Binary numeral system numerals by grouping consecutive digits into groups of three ....
 
Dec
Decimal system

Decimal system may refer to:* The decimal number system, used in mathematics for writing numbers and performing arithmetic.* The Dewey Decimal Classification, a subject classification system used in libraries....
 
Hex
Hexadecimal

In mathematics and computer science, hexadecimal is a numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 09 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen....
 
Glyph
110 0000 140 96 60 `
Grave accent

The grave accent is a diacritical mark used in written Catalan language, French language, Greek language until 1982 , Italian language, Norwegian language, Occitan language, Portuguese language, Scottish Gaelic language, Vietnamese language, Welsh language, Dutch language, and other languages....
110 0001 141 97 61 a
A

The letter A is the first letter in the Latin alphabet. Its name in English language is a ; the plural is aes or, more commonly, a's....
110 0010 142 98 62 b
B

For technical reasons, B# redirects here. For the musical note, see C B is the second letter in the Latin alphabet. Its name in English language is spelled bee , plural bees....
110 0011 143 99 63 c
C

C or c is a consonant in Esperanto orthography, representing a voiceless postalveolar affricate , and is equivalent to the voiceless postalveolar affricate, , or the voiceless retroflex affricate, ...
110 0100 144 100 64 d
D

D is the fourth letter in the Latin alphabet. Its name in English language is spelled dee , plural dees....
110 0101 145 101 65 e
E

E is the fifth letter in the Latin alphabet. Its name in English language is spelled e , plural ees . The letter E is the most commonly used letter in the Czech language, Danish language, Dutch language, English language, French language, German language, Hungarian language, Latin language, Norwegian language, Spanish language...
110 0110 146 102 66 f
F

F is the sixth letter in the Latin alphabet. Its name in English language is spelled ef or eff ....
110 0111 147 103 67 g
G

G is the seventh letter in the Latin alphabet. Its name in English language is spelled gee....
110 1000 150 104 68 h
H

H is the eighth letter in the Latin alphabet. Its name in both British English and American English is aitch , though it is also pronounced haitch in some dialects ....
110 1001 151 105 69 i
I

I is the ninth Letter of the Latin alphabet. Its English language name is i ....
110 1010 152 106 6A j
J

J or j is a consonant in Esperanto orthography, representing a voiced postalveolar fricative , and is equivalent to the voiced postalveolar fricative, , or the voiced retroflex fricative, ....
110 1011 153 107 6B k
K

K is the eleventh letter of the modern Latin alphabet. Its name in English language is spelled kay ....
110 1100 154 108 6C l
L

L or l, described in English language as L with stroke, is a letter of the Polish alphabet, Kashubian alphabet, Sorbian alphabet, Lacinka alphabet , Wymysorys, Navajo language, Dene Suline language, Inupiaq language and Dogrib language alphabets, and of several proposed alphabets for the Venetian language....
110 1101 155 109 6D m
M

M is the thirteenth letter of the modern Latin alphabet. Its name in English language is spelled em ....
110 1110 156 110 6E n
N

N is the fourteenth letter in the Latin alphabet. Its name in English language is spelled en ....
110 1111 157 111 6F o
O

O is the fifteenth letter of the modern Latin alphabet. Its name in English language is spelled o , plural oes ....
111 0000 160 112 70 p
P

P is the sixteenth letter of the modern Latin alphabet. Its name in English language is pronounced pee ....
111 0001 161 113 71 q
Q

Q is the seventeenth letter of the modern Latin alphabet. Its name in English language is spelled cue ....
111 0010 162 114 72 r
R

R is the eighteenth letter of the modern Latin alphabet. Its name in English language is spelled ar ....
111 0011 163 115 73 s
S

S is the nineteenth letter in the modern Latin alphabet. Its name in English language is spelled ess or generally es- when part of a compound word, plural esses....
111 0100 164 116 74 t
T

T is the twentieth letter in the modern Latin alphabet. Its name in English language is spelled tee . It is the most commonly used consonant and the second most common letter in the English language....
111 0101 165 117 75 u
U

U is the twenty-first letter in the modern Latin alphabet. Its name in English language is spelled u ....
111 0110 166 118 76 v
V

V is the twenty-second letter in the modern Latin alphabet. Its name in English language is spelled vee ....
111 0111 167 119 77 w
W

W is the 23 letter in the Latin alphabet. Its name in English language is spelled double-u ....
111 1000 170 120 78 x
X

X is the twenty-fourth letter in the modern Latin alphabet. Its name in English language is spelled ex , plural exes .History...
111 1001 171 121 79 y
Y

The letter Y is the twenty-fifth letter in the modern Latin alphabet. Its name in English language is spelled wye or occasionally wy' , plural wyes....
111 1010 172 122 7A z
Z

Z is the twenty-sixth and final Letter of the modern English alphabet....
111 1011 173 123 7B {
Bracket

Brackets are punctuation marks used in pairs to set apart or interject text within other text. In computer science, the term is sometimes said to strictly apply to the square or box type....
111 1100 174 124 7C |
Vertical bar

The vertical bar has various names including the pipe , verti-bar, vbar, stick, vertical line, vertical slash, think colon, or divider line by others....
111 1101 175 125 7D }
Bracket

Brackets are punctuation marks used in pairs to set apart or interject text within other text. In computer science, the term is sometimes said to strictly apply to the square or box type....
111 1110 176 126 7E ~
Tilde

The tilde is a grapheme with several uses. The name of the character comes from Spanish language, from the Latin wikt:titulus meaning a title or superscription, though the term ?tilde? has evolved in that language and now has a different meaning in Linguistics....


Aliases

A June 1992 RFC and the Internet Assigned Numbers Authority
Internet Assigned Numbers Authority

The Internet Assigned Numbers Authority is the entity that oversees global IP address, root nameserver for the Domain Name System , Internet media type, and other Internet protocol assignments....
 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 Internet
Internet

The Internet is a global network of interconnected computers, enabling users to share information along multiple channels. Typically, a computer that connects to the Internet can access information from a vast array of available server and other computers by moving information from them to the computer's local memory....
 uses of ASCII. One often finds this in the optional "charset" parameter in the Content-Type header of some MIME
MIME

Multipurpose Internet Mail Extensions is an Internet standard that extends the format of electronic mail to support:* Text in character sets other than ASCII...
 messages, in the equivalent "meta" element of some HTML
HTML

HTML, an Acronym and initialism of HyperText Markup Language, is the predominant markup language for Web pages. It provides a means to describe the structure of text-based information in a document?by denoting certain text as links, headings, paragraphs, lists, and so on?and to supplement that text with interactive forms, embedded '...
 documents, and in the encoding declaration part of the prologue of some XML documents.

Variants

As computer technology spread throughout the world, different standards bodies and corporations developed many variations of ASCII in order to facilitate the expression of non-English languages that used Roman-based alphabets. One could class some of these variations as "ASCII extensions
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....
", although some misuse that term to cover all variants, including those that do not preserve ASCII's character-map in the 7-bit range.

The PETSCII
PETSCII

PETSCII , also known as CBM ASCII, is the variation of the ASCII character set used in Commodore International's 8-bit home computers, starting with the Commodore PET from 1977 and including the Commodore VIC-20, Commodore 64, Commodore CBM-II, Commodore Plus/4, Commodore 16, Commodore 116 and Commodore 128....
 Code used by Commodore International
Commodore International

Commodore, the commonly used name for Commodore International, was a United States electronics company based in West Chester, Pennsylvania which was a vital player in the home computer/personal computer field in the 1980s....
 for their 8-bit systems is probably unique among post-1970 codes in being based on ASCII-1963 instead of the far more common ASCII-1967, such as found on the ZX Spectrum
ZX Spectrum character set

The ZX Spectrum character set is the variant of ASCII used in the British Sinclair Research ZX Spectrum computers. It is based on ASCII-1967 , but with one character from ASCII-1963 , two graphics characters nonstandardly assigned, an idiosyncratic use of the control code area and use of the 128 high-bit characters beyond the ASCII range....
 computer. Atari
ATASCII

The 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....
 and Galaksija
Galaksija

The Galaksija was originally a build-it-yourself computer designed by Voja Antonic. It was featured in the special edition of a popular eponymous science magazine, published late December 1983 in Belgrade, SFRY....
 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 646
ISO/IEC 646

ISO 646 is an International Organization for Standardization standard that since 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 point
Code point

In character encoding terminology a code point is any of the numerical values that make up the codespace. For example, ASCII comprises 128 code points in the range 0Hexadecimal to 7Fhex, Extended ASCII comprises 256 code points in the range 0Hexadecimal to FFhex, and Unicode comprises 1,114,112 code...
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 in 1967 caused ASCII's choices for the national use characters to appear to be de facto standards for the world, leading to 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 made no 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 had to get used to reading and writing
ä aÄiÜ='Ön'; ü
instead of

C trigraph
C trigraph

In computer programming, digraphs and trigraphs are sequences of two and three character s respectively which are interpreted as one character by the programming language....
s were created to solve this issue in ANSI C, although their late introduction and inconsistent implementation in compilers limited their use.

Eventually, as 8-, 16-, and 32-bit 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, IBM
IBM

International Business Machines Corporation, abbreviated IBM and nicknamed "Big Blue" , is a multinational corporation computer technology and consulting corporation headquartered in Armonk, New York, New York, United States....
 developed 8-bit code page
Code page

Code page is the traditional International Business Machines term used to map a specific set of characters to numerical code point values . This is slightly different in meaning than the related terms character encoding and character set....
s, such as code page 437
Code page 437

IBM PC or MS-DOS code page 437, often abbreviated CP437 and also known as, DOS-US, OEM-US or sometimes misleadingly referred to as the OEM font, High ASCII or Extended ASCII, is the original character set of the IBM PC, circa 1981....
, which replaced the control-characters with graphic symbols such as smiley
Smiley

A smiley, or happy face , is a stylized representation of a smiling human face, commonly represented as a yellow circle with two dots representing eyes and a half circle representing the mouth....
 faces, and mapped additional graphic characters to the upper 128 positions. Operating systems such as DOS
DOS

DOS, short for "Disk Operating System", is a shorthand term 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 Windows 95, Windows 98, and Windows Me....
 supported these code-pages, and manufacturers of IBM PC
IBM PC

The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
s supported them in hardware. Digital Equipment Corporation
Digital Equipment Corporation

Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC ....
 developed the Multinational Character Set
Multinational Character Set

The Multinational Character Set is a character encoding created by Digital Equipment Corporation for use in the popular VT220 computer terminal....
 (DEC-MCS) for use in the popular VT220
VT220

The VT220 was a computer terminal produced by Digital Equipment Corporation from 1983 to 1987....
 terminal
Computer terminal

A computer terminal is an electronic or electromechanical computer 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 8859
ISO/IEC 8859

ISO/IEC 8859 is a joint International Organization for Standardization and International Electrotechnical Commission standard for 8-bit character encodings for use by computers....
 (derived from the DEC-MCS) and Mac OS Roman
Mac OS Roman

Mac 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....
 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)
ISO/IEC 8859-1

ISO 8859-1, more formally cited as ISO/IEC 8859-1 is part 1 of ISO 8859, a standard character encoding of the Latin alphabet. It is less formally referred to as Latin-1....
, its variant Windows-1252
Windows-1252

Windows-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....
 (often mislabeled as ISO-8859-1), and the original 7-bit ASCII remain the most common character encodings in use today.

Unicode

Unicode
Unicode

Unicode is a computing industry standard allowing computers to consistently represent and manipulate Character expressed in most of the world's writing systems....
 and the ISO/IEC 10646 Universal Character Set
Universal Character Set

The Universal Character Set , defined by the International Organization for Standardization/International Electrotechnical Commission 10646 International Organization for Standardization, is a standard set of character s 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 number
Natural number

In mathematics, a natural number can mean either an element of the Set = *n = = ? = ? ...
s called code points) and encoding (to 8-, 16- or 32-bit binary formats, called UTF-8
UTF-8

UTF-8 is a Variable-width encoding character encoding for Unicode. It is able to represent any character in the Unicode standard, yet the initial encoding of byte codes and character assignments for UTF-8 is backward compatibility with ASCII....
, UTF-16 and UTF-32).

To permit 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

Collation
Collation

Collation is the assembly of written information into a standard order. One common type of collation is called alphabetisation, though collation is not limited to ordering letters of the alphabet....
 of data is sometimes done in ASCII-code order rather than "standard" alphabetical order. The main deviations are:
  • capitals come before lowercase letters, i.e. "Z" before "a"
  • characters in extended character sets such as "é" come after "z"
The slang
Slang

Slang is the use of highly informal words and expressions that are not considered standard in the speaker's dialect or language....
 expression ASCIIbetical is sometimes used for this order. In programming, alphanumeric sorting means to sort by numeric value, without regard for any character set. An alphanumerically sorted array of bytes will appear ASCIIbetically when viewed in an ASCII-compatible character set.

A refined version of this order converts uppercase letters to lowercase before comparing ASCII values.

Further reading

  • R.W. Bemer
    Bob Bemer

    Robert William Bemer was a computer scientist best known for his work at IBM during the late 1950s and early 1960s....
    , "A Proposal for Character Code Compatibility," Communications of the ACM, Vol. 3. No. 2, February, 1960, pp. 71-72
  • R.W. Bemer, , May 23, 2003 (from H.J. Smith, Jr., F.A. Williams, "Survey of punched card codes", Communications of the ACM 3, 639 & 642, December 1960)


External links

  • by Tom Jennings
    Tom Jennings

    Tom Jennings is the creator of FidoNet, the first message and file networking system for bulletin board system. Originally, the FidoNet protocols were implemented in a program named Fido, authored by Jennings, but they were ultimately implemented by other authors in other software to create a network using a multiplicity of platforms....
     (October 29, 2004) (accessed 2005-12-17)
  • of Unicode
    Unicode

    Unicode is a computing industry standard allowing computers to consistently represent and manipulate Character expressed in most of the world's writing systems....