Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Extended ASCII

From Wikipedia, the free encyclopedia
Nickname for 8-bit ASCII-derived character sets

Output of the programascii inCygwin

Extended ASCII is a repertoire ofcharacter encodings that include (most of) the original 96ASCII character set, plus up to 128 additional characters. There is no formal definition of "extended ASCII", and even use of the term is sometimes criticized,[1][2][3] because it can be mistakenly interpreted to mean that theAmerican National Standards Institute (ANSI) had updated itsANSI X3.4-1986 standard to include more characters, or that the term identifies a single unambiguous encoding, neither of which is the case.

The ISO standardISO 8859 was the first international standard to formalise a (limited) expansion of the ASCII character set: of the many language variants it encoded,ISO 8859-1 ("ISO Latin 1") – which supports most Western European languages – is best known in the West. There are many other extended ASCII encodings (more than 220 DOS and Windowscodepages).EBCDIC ("the other" major character code) likewise developed many extended variants (more than 186 EBCDIC codepages) over the decades.

All modernoperating systems useUnicode which supports thousands of characters. However, extended ASCII remains important in thehistory of computing, and supporting multiple extended ASCII character sets required software to be written in ways that made it much easier to support theUTF-8 encoding method later on.

History

[edit]
icon
This sectionneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources in this section. Unsourced material may be challenged and removed.
Find sources: "Extended ASCII" – news ·newspapers ·books ·scholar ·JSTOR
(March 2016) (Learn how and when to remove this message)

ASCII was designed in the 1960s forteleprinters andtelegraphy, and some computing. Early teleprinters were electromechanical, having no microprocessor and just enough electromechanical memory to function. They fully processed one character at a time, returning to an idle state immediately afterward; this meant that any control sequences had to be only one character long, and thus a large number of codes needed to be reserved for such controls. They were typewriter-derivedimpact printers, and could only print a fixed set of glyphs, which were cast into a metal type element or elements; this also encouraged a minimum set of glyphs.

Seven-bit ASCII improved over prior five- and six-bit codes. Of the 27=128 codes, 33 were used for controls, and 95 carefully selectedprintable characters (94glyphs and one space), which include the English alphabet (uppercase and lowercase), digits, and 31 punctuation marks and symbols: all of the symbols on a standard US typewriter plus a few selected for programming tasks. Some popular peripherals only implemented a 64-printing-character subset:Teletype Model 33 could not transmit "a" through "z" or five less-common symbols (`,{,|,}, and~). and when they received such characters they instead printed "A" through "Z" (forcedall caps) and five other mostly-similar symbols (@,[,\,], and^).

The ASCII character set is barely large enough for US English use, lacks many glyphs common intypesetting, and is far too small for universal use. Many more letters and symbols are desirable, useful, or required to directly represent letters of alphabets other than English, more kinds of punctuation and spacing, more mathematical operators and symbols (× ÷ ⋅ ≠ ≥ ≈ π etc.), some unique symbols used by some programming languages,ideograms,logograms, box-drawing characters, etc.

The biggest problem for computer users around the world was the needs of their local alphabets. ASCII's English alphabet almost accommodates European languages, if accented letters are written withoutaccents or two-character approximations, such asss forß, are used. Modified local variants of 7-bit ASCII appeared promptly, trading some lesser-used symbols for highly desired symbols or letters, such as replacing# with£ on UK Teletypes,\ with¥ in Japan or in Korea, etc. At least 29 variant sets resulted. Twelvecodepoints were modified by at least one national set, leaving only82 "invariant" codes. Programming languages however had assigned meaning to many of the replaced characters, work-arounds were devised such as Cthree-character sequences??< and??> to represent{ and}.[4] Languages with dissimilar basic alphabets could use transliteration, such as replacing all the Latin letters with the closest match Cyrillic letters (resulting in odd but somewhat readable text when English was printed in Cyrillic or vice versa). Schemes were also devised so that two letters could be overprinted (often with thebackspace control between them) to produce accented letters. Users were not comfortable with any of these compromises and they were often poorly supported.[citation needed]

When computers and peripherals standardized on eight-bitbytes in the 1970s, it became obvious that computers and software could handle text that uses 256-character sets at almost no additional cost in programming, and no additional cost for storage (assuming that the unused 8th bit of each byte was not reused in some way, such as error checking, Boolean fields, or packing 8 characters into 7 bytes). This would allow ASCII to be used unchanged and provide 128 more characters. Many manufacturers devised 8-bit character sets consisting of ASCII plus up to 128 of the unused codes. Thus encodings which covered all the major Western European (and Latin American) languages and more could be made.

128 additional characters is still not enough to cover all purposes, all languages, or even all European languages, so the emergence of many proprietary and national ASCII-derived 8-bit character sets was inevitable. Translating between these sets (transcoding) is complex (especially if a character is not in both sets); and was often not done, producingmojibake (semi-readable resulting text, often users learned how to manually decode it). There were eventually attempts at cooperation or coordination by national and international standards bodies in the late 1990s, but manufacturer-proprietary sets remained the most popular by far, primarily because the international standards excluded characters popular in or peculiar to specific cultures.

Proprietary extensions

[edit]
icon
This sectionneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources in this section. Unsourced material may be challenged and removed.(June 2020) (Learn how and when to remove this message)

Various proprietary modifications and extensions of ASCII appeared onmainframe computers[a] andminicomputers – especially in universities, to meet their need to support teaching of mathematics, science and languages.

Hewlett-Packard started to add European characters to their extended 7-bit / 8-bit ASCII character setHP Roman Extension around 1978/1979 for use with their workstations, terminals and printers. This later evolved into the widely used regular 8-bit character setsHP Roman-8 andHP Roman-9 (as well as a number of variants).

Atari andCommodorehome computers added many graphic symbols to their non-standard ASCII (Respectively,ATASCII andPETSCII, based on the original ASCII standard of 1963).

TheTRS-80 character set for theTRS-80 home computer added 64semigraphics characters (0x80 through 0xBF) that implemented low-resolution block graphics. (Each block-graphic character displayed as a 2x3 grid of pixels, with each block pixel effectively controlled by one of the lower 6 bits.)[5]

IBM introduced eight-bit extended ASCII codes on the originalIBM PC and later produced variations for different languages and cultures. IBM called such character setscode pages and assigned reference numbers – both to those they themselves invented as well as to many invented and used by other manufacturers. Accordingly, character sets are very often indicated by their IBM code page number. In ASCII-compatible code pages, the lower 128 characters maintained their standard ASCII values, and different pages (or sets of characters) could be made available in the upper 128 characters.DOS computers built for the North American market, for example, usedcode 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 asEnglish andFrench (though French computers usually usecode page 850), but not, for example, in English andGreek (which requiredcode page 737).

Apple Computer introduced their own eight-bit extended ASCII codes inMac OS, such asMac OS Roman. TheApple LaserWriter also introduced thePostscript character set.

Digital Equipment Corporation (DEC) developed theMultinational Character Set, which had fewer characters but more letter and diacritic combinations. It was supported by theVT220 and later DECcomputer terminals. This later became the basis for other character sets such as theLotus International Character Set (LICS),ECMA-94 andISO 8859-1.

ISO 8859

[edit]
Main article:ISO/IEC 8859

In 1987, theInternational Organization for Standardization (ISO) published a set of standards for eight-bit ASCII extensions, ISO 8859. The most popular of these wasISO 8859-1 (also called "ISO Latin 1") which contains characters sufficient for the most common Western European languages. Other standards in the 8859 group includedISO 8859-2 for Eastern European languages using theLatin script andISO 8859-5 for languages using theCyrillic script, and others.

One notable way in which the ISO standards differ from some vendor-specific extended ASCII character sets, is that the first 32 codepoints in the extension block are reserved in the ISO standard for control use and are not available for printable characters.[b] This policy emulated theC0 control codes block that occupy the first 32 codepoints of ASCII. This aspect of the standard was almost universally ignored by other extended ASCII sets.

Windows-1252

[edit]
Main article:Windows-1252

Microsoft intended to use ISO 8859 standards in Windows,[7] but soon replacedC1 control codes with additional characters, making the proprietary Windows-1252 character set. The added characters included "curly"quotation marks, theem dash, theeuro sign, and the French and Finnish letters fromISO-8859-15. This became the most-used extended ASCII in the world, and often is used on the web even when 8859-1 is specified.[8][9]

Character set confusion

[edit]

In order to correctly interpret and display text data (sequences of characters) that includes extended codes, software that reads or receives the text must use thespecific encoding that text was written in. Choosing the wrong encoding causes the display of often wildly-incorrect characters, known by the Japanese termmojibake. Because ASCII is common between all "extended ASCII" encodings, using the wrong one results in readable English (or any language that is using only A-Z), as well as numbers and most punctuation surviving.

Manycommunications protocols, most importantlySMTP andHTTP, require the character encoding of content to be tagged withIANA-assigned character set identifiers, in an attempt to get software to interpret multiple encodings correctly. However the vast majority of software relies on a system setting indicating the user's preferred encoding, or compiles in an assumed setting.

In modern times, Unicode has replaced almost all uses of non-ASCII encodings. Because many Internet standards use ISO 8859-1, and because Microsoft Windows (for most languages used in Western Europe and the Americas) uses theCP1252 superset of ISO 8859-1, in general it is safe to assume that any byte stream that is not validUTF-8 is in CP1252 or the system setting.

See also

[edit]


Notes

[edit]
  1. ^except on IBM mainframes, which usedEBCDIC rather than ASCII
  2. ^They are also reserved in Unicode.[6]

References

[edit]
  1. ^Benjamin Riefenstahl (February 26, 2001)."Re: Cygwin Termcap information involving extended ascii charicters".cygwin (Mailing list).Archived from the original on July 11, 2013. RetrievedDecember 2, 2012.
  2. ^S. Wolicki (March 23, 2012)."Print Extended ASCII Codes in sql*plus". RetrievedMay 17, 2022.
  3. ^Mark J. Reed (March 28, 2004)."vim: how to type extended-ascii?".Newsgroupcomp.editors. RetrievedMay 17, 2022.
  4. ^"2.2.1.1 Trigraph sequences".Rationale for American National Standard for Information Systems - Programming Language - C.Archived from the original on September 29, 2018. RetrievedFebruary 8, 2019.
  5. ^Goldklang, Ira (2015)."Graphic Tips & Tricks".Archived from the original on July 29, 2017. RetrievedJuly 29, 2017.
  6. ^"C1 Controls and Latin-1 Supplement | Range: 0080–00FF"(PDF).The Unicode Standard, Version 15.1.Unicode Consortium.
  7. ^"HTML Windows-1252 Reference".www.w3schools.com. RetrievedFebruary 10, 2025.
  8. ^"HTML Character Sets".W3 Schools.When a browser detects ISO-8859-1 it normally defaults to Windows-1252, because Windows-1252 has 32 more international characters.
  9. ^"Encoding".WHATWG. January 27, 2015. sec. 5.2 Names and labels.Archived from the original on February 4, 2015. RetrievedFebruary 4, 2015.

External links

[edit]
Early
telecommunication
ISO/IEC 8859
Bibliographic use
National standards
ISO/IEC 2022
Code pages
Mac OS
("scripts")
DOS
IBM AIX
Windows
EBCDIC
DEC
terminals
(VTx)
Platform
specific
Other
Unicode,
ISO/IEC 10646
TeX typesetting
Control character
Related topics
Retrieved from "https://en.wikipedia.org/w/index.php?title=Extended_ASCII&oldid=1328276369"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp