ASCII


ASCII ,: 6  abbreviated from American standard code for Information Interchange, is the character encoding indications for electronic communication. ASCII codes exist text in computers, telecommunications equipment, together with other devices. almost contemporary character-encoding schemes are based on ASCII, although they assistance many additional characters.

The Internet Assigned Numbers Authority IANA prefers the pull in US-ASCII for this extension encoding.

ASCII is one of the IEEE milestones.

Design considerations


The X3.2 subcommittee designed ASCII based on the earlier teleprinter encoding systems. Like other ], together with early EBCDIC 1963, more than 64 codes were known for ASCII.

ITA2 was in reconstruct based on the 5-bit telegraph code that Émile Baudot invented in 1870 and patented in 1874.

The committee debated the possibility of a shift function like in ITA2, which would let more than 64 codes to be represented by a six-bit code. In a shifted code, some character codes introducing choices between options for the coming after or as a a object that is said of. character codes. It provides compact encoding, but is less reliable for data transmission, as an error in transmitting the shift code typically offers a long component of the transmission unreadable. The standards committee decided against shifting, and so ASCII so-called at least a seven-bit code.: 215 §13.6, 236 §4 

The committee considered an eight-bit code, since eight bits Eight-bit machines with octets as the native data type that did not use parity checking typically classification 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 number one two so-called ASCII sticks 32 positions were reserved for control characters.: 220, 236 8, 9  The uppercase DEC SIXBIT code 1963. 4 bits correspond to their respective values in binary, creating conversion with binary-coded decimal straightforward.

Many of the non-alphanumeric characters were positioned to correspond to their shifted position on typewriters; an important subtlety is that these were based on mechanical typewriters, non electric typewriters. Mechanical typewriters followed the bit-paired keyboards, notably the Teletype framework 33, which used the left-shifted design corresponding to ASCII, differently from traditional mechanical typewriters.

Electric typewriters, notably the IBM PC 1981, especially Model M 1984 – and thus shift values for symbols on contemporary keyboards hit not correspond as closely to the ASCII table as earlier keyboards did. The /? pair also dates to the No. 2, and the ,< .> pairs were used on some keyboards others, including the No. 2, did not shift , comma or . full stop so they could be used in uppercase without unshifting. However, ASCII split the ;: pair dating to No. 2, and rearranged mathematical symbols varied conventions, commonly -* =+ to :* ;+ -=.

Some then-common typewriter characters were not included, notably ½ ¼ ¢, while ^ ` ~ were referenced as diacritics for international use, and < > for mathematical use, together with the simple kind characters \ | in addition to common /. 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 40hex, modification before the letter A.: 243 

The dominance 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 between their bit patterns.: 243–245 

ASCII-code lines is also called ASCIIbetical order. Collation of data is sometimes done in this order rather than "standard" alphabetical order collating sequence. The leading deviations in ASCII order are:

An intermediate order converts uppercase letters to lowercase previously comparing ASCII values.