Extended ASCII
The term extended ASCII describes 8-bit or larger character encodings that include the standard 7-bit ASCII characters as well as others. Because the number of written symbols used in common natural languages far exceeds the limited range of the ASCII code, many extensions to it have been used to facilitate handling of those languages. Foreign markets for computers and communication equipment were historically open long before standards bodies had time to deliberate upon the best way to accommodate them, so there are many incompatible proprietary extensions to ASCII.Since ASCII x was a 7-bit code, and most computers manipulate data in 8-bit bytes, many extensions use the additional 128 codes available by using all 8 bits of each byte. This helps include many languages otherwise not easily representable in ASCII, but still not enough to cover all languages of countries in which computers are sold, so even these 8-bit extensions had to have local variants. Various proprietary extensions appeared on non-EBCDIC mainframe and mini-computers, especially in universities. Commodore Micro-computers added many graphic symbols to their non-standard ASCII (an ASCII based on the original ASCI standard). IBM introduced 8-bit extended ASCII codes on the original IBM PC and later produced variations in for different languages and cultures. IBM called such character sets code pages and assigned numbers to both those they themselves invented as well as many invented and used by other manufacturers. Accordingly character sets are very often indicated by their IBM code page number. In ASCII-compatibile code pages, the lower 128 characters maintained their standard US-ASCII values, and different pages (or sets of characters) could be made available in the upper 128 characters. MS-DOS computers built for the American market, for example, used code page 437, which included accented characters needed for French, German, and a few other European languages, as well as some graphical line-drawing characters. The larger character set made it possible to create documents in a combination of languages such as English and French, but not, for example, in English and Greek (which required code page 737).
A set with less characters but more letter and diagritic combinations was used by the Digital VT-220 terminal based on draft versions of a ISO standard that was being developed.
Eventually, ISO released this standard as ISO 8859 describing its own set of 8-bit ASCII extensions. The most popular was ISO 8859-1, also called ISO Latin1, which contained characters sufficient for the most common Western European languages. Variations were standardized for other languages as well: ISO 8859-2 for Eastern European languages and ISO 8859-5 for Cyrillic languages, for example. One notable way in which ISO character sets differ from code pages is that the character positions 128 to 159, corresponding to ASCII "control" characters with the high order bit set, are specifically unused and undefined in the ISO standards, though they had often been used for printable characters in proprietary code pages, a breaking of ISO standards that was almost universal. Microsoft later created code page 1252, a compatible superset of ISO 8859-1 with extra characters in the ISO unused range. Code page 1252 is the standard character encoding of western European language versions of Microsoft Windows, including English versions. ISO 8859-1 is the common character encoding used by the X Window System, and most Internet standards. The Apple Macintosh uses its own proprietary encodings.
One problem with 8-bit codes is that computer keyboards were originally designed for 7-bit ASCII, and users became accustomed to them. Different manufacturers have solved this problem in different ways, most by using additional shift-type keys labelled "Alt" or "Meta", and sometimes by interpreting multi-keystroke sequences. MS-DOS, however, only allowed the user to enter any character by typing its 3-digit numeric value while holding down the Alt key. While it did allow users to take advantage of the full MS-DOS code page 437 character set, it was difficult to remember and caused problems when users switched to other character sets (including Microsoft's switch to code page 1252). On a Microsoft Windows machine now, typing a 4-digit number (beginning with 0) with the Alt key down will enter that code; typing a 3-digit number will actually enter the new page 1252 code for whatever character was in the page 437 position indicated. For example, code page 437 used code 151 for the lowercase "u" with grave accent. Typing Alt-151 on a Windows machine will actually produce code 249, which is where code page 1252 puts that character, so you'll get a lowercase "u" with grave accent. If you want the character that is now in position 151 of code page 1252 (which is the em dash), you must type Alt-0151. But various internationl keyboard drivers are available at intallation in which the right Alt-key can be used to select alternate characters without this cumbersome typing of numbers. The user can easily switch between multiple keyboards. The free utility AllChars is also available. See link below.
Because these ASCII extensions have so many variants, it is necessary to identify which set is being used for a particular text for it to be interpreted correctly. However, because the most-used characters (those in the original 7-bit ASCII) are common to all sets--even most proprietary ones like the Macintosh--failure to correctly identify a character set often suffers no adverse consequences if the user is typing in English. Further, because many Internet standards use ISO 8859-1, and because Microsoft Windows (using the code page 1252 superset of ISO 8859-1) is the dominant operating system for personal computers today, unannounced use of ISO 8859-1 is quite commonplace, and should generally be assumed without evidence to the contrary.
A proposal called Unicode was made to address many of these problems, and is now becoming widely accepted. The first plane if international standard ISO 10646 and of Unicode (these standards being kept synchronized with each other) is a 16-bit code, meaning that it can represent 65,536 characters instead of the 128 of ASCII or 256 of extended ASCII. The first 256 codes in Unicode are identical to ISO 8859-1.