ASCII
Mime / Iana | US-Ascii |
---|---|
Alias (e) | ISO-IR-006,[1] ANSI_X3.4-1968, ANSI_X3.4-1986, ISO_646.IRV: 1991, ISO646-US, US, IBM367, CP367[2] |
Sprachen) | Englisch |
Einstufung | ISO/IEC 646 -Serie |
Erweiterungen |
|
Vorausgegangen von | Ita 2, Fieldata |
gefolgt von | ISO/IEC 8859, ISO/IEC 10646 (Unicode) |
ASCII (/ˈæskich/ (Hören) ARSCH-kee),[3]: 6 abgekürzt von Amerikanischer Standardcode für den Informationsaustausch, ist ein Zeichenkodierung Standard für die elektronische Kommunikation. ASCII -Codes repräsentieren Text in Computern, Telekommunikationsgeräteund andere Geräte. Die meisten modernen charakterkodierenden Schemata basieren auf ASCII, obwohl sie viele zusätzliche Zeichen unterstützen.
Das Internet zugewiesene Zahlen Autorität (IANA) bevorzugt den Namen US-Ascii Für diese Charaktercodierung.[2]
ASCII ist einer der der IEEE -Meilensteine.
Überblick
ASCII wurde aus entwickelt von Telegraphencode. Die erste kommerzielle Verwendung war als siebenbisschen Fernschreiber Code, der von Bell Data Services beworben wird.[wenn?] Die Arbeit am ASCII -Standard begann im Mai 1961 mit dem ersten Treffen der American Standards Association's (ASA) (jetzt die American National Standards Institute oder Ansi) x3.2 Unterausschuss. Die erste Ausgabe des Standards wurde 1963 veröffentlicht.[4][5] im Jahr 1967 einer großen Überarbeitung unterzogen,[6][7] und erlebte das jüngste Update im Jahr 1986.[8] Im Vergleich zu früheren Telegraphencodes wurden die vorgeschlagenen Glockencode und ASCII für eine bequemere Sortierung (d. H. Alphabetisierung) von Listen und hinzugefügten Funktionen für andere Geräte als Teleprinters angeordnet.
Die Verwendung des ASCII -Formats für den Netzwerkstausch wurde 1969 beschrieben.[9] Dieses Dokument wurde 2015 offiziell zu einem Internetstandard erhöht.[10]
Ursprünglich basierend auf der englisches Alphabet, ASCII codiert 128 angegeben Figuren In sieben-Bit-Ganzzahlen, wie im obigen ASCII-Diagramm gezeigt.[11] Fünfundneunzig der codierten Zeichen sind druckbar: Dazu gehören die Ziffern 0 zu 9, Kleinbuchstaben a zu z, Großbuchstaben A zu Z, und Interpunktionsymbole. Darüber hinaus umfasste die ursprüngliche ASCII-Spezifikation 33 nicht druckte Kontrollcodes was entstand von Teletypmaschinen; Die meisten davon sind jetzt veraltet,[12] Obwohl einige immer noch häufig verwendet werden, wie die Kutschenrückkehr, Zeilenvorschub, und Tab Codes.
Zum Beispiel Kleinbuchstaben i würde in der ASCII -Codierung durch dargestellt werden binär 1101001 = hexadezimal 69 (i ist der neunte Buchstabe) = Dezimal 105.
Geschichte
Der amerikanische Standardcode für Informationsaustausch (ASCII) wurde unter der Schirmherrschaft eines Ausschusses des Ausschusses entwickelt American Standards Association (ASA), als X3 -Komitee bezeichnet, durch seinen X3.2 (später x3L2) Unterausschuss und später durch die X3.2.4 -Arbeitsgruppe dieses Unterausschusses (jetzt jetzt Einschnitte). Die ASA wurde später die United States of America Standards Institute (Usasi),[3]: 211 und wurde letztendlich die American National Standards Institute (ANSI).
Mit den anderen Sonderzeichen und Kontrollcodes wurde ASCII als ASA X3.4-1963 veröffentlicht.[5][13] 28 Codepositionen ohne zugewiesene Bedeutung, reserviert für die zukünftige Standardisierung und einen nicht zugewiesenen Kontrollcode.[3]: 66, 245 Zu diesem Zeitpunkt gab es einige Debatten, ob es mehr Kontrollfiguren als das Kleinbuchstaben -Alphabet geben sollte.[3]: 435 Die Unentschlossenheit dauerte nicht lange: Im Mai 1963 schlug die CCitt Working Party auf dem neuen Telegraph Alphabet vor, um Kleinbuchstaben -Zeichen zuzuordnen Stöcke[a][14] 6 und 7,,[15] und Internationale Standardisierungsorganisation TC 97 SC 2 stimmte im Oktober für die Einbeziehung des Wechsels in seinen Standard -Standard.[16] Die Taskgruppe X3.2.4 hat ihre Genehmigung für die Änderung gegenüber ASCII zu ihrer Sitzung von 1963 gewählt.[17] Finden der Kleinbuchstaben in Stöcke[a][14] 6 und 7 haben dazu geführt Fall-unempfindlich Charakteranpassung und die Konstruktion von Tastaturen und Druckern.
Das X3 -Komitee nahm andere Änderungen vor, einschließlich anderer neuer Charaktere (die befestigen und vertikale Balken Figuren),[18] Umbenennung einiger Kontrollfiguren (SOM wurde Start von Header (SOH)) und das Bewegen oder Entfernen anderer (Ru wurde entfernt).[3]: 247–248 ASCII wurde anschließend als USAS x3.4-1967 aktualisiert,[6][19] Dann usas x3.4-1968, ANSI X3.4-1977 und schließlich ANSI X3.4-1986.[8][20]
Überarbeitungen des ASCII -Standards:
- ASA X3.4-1963[3][5][19][20]
- ASA X3.4-1965 (genehmigt, aber nicht veröffentlicht, dennoch verwendet von von IBM 2260 & 2265 Anzeigestationen und IBM 2848 Anzeigesteuerung)[3]: 423, 425–428, 435–439[21][19][20]
- USAS x3.4-1967[3][6][20]
- USAS X3.4-1968[3][20]
- ANSI X3.4-1977[20]
- ANSI X3.4-1986[8][20]
- ANSI X3.4-1986 (R1992)
- ANSI X3.4-1986 (R1997)
- ANSI Incits 4-1986 (R2002)[22]
- ANSI Incits 4-1986 (R2007)[23]
- (ANSI) Incits 4-1986 [R2012][24]
- (ANSI) Incits 4-1986 [R2017][25]
Im x3.15 -Standard befasste sich auch der X3 -Komitee, wie ASCII übertragen werden sollte (niedrigstwertige Bit Erste),[3]: 249–253[26] und wie es auf perforiertem Klebeband aufgenommen werden sollte. Sie schlugen a vor 9-Track Standard für Magnetband und versuchte, mit etwas umzugehen Lochkarte Formate.
Entwurfsüberlegungen
Bit Breite
Der X3.2 -Unterausschuss entworfen ASCII basierend auf den früheren Teleprinär -Codierungssystemen. Wie andere Charaktercodierungen, ASCII legt eine Korrespondenz zwischen digitalen Bitmustern fest und Charakter Symbole (d. H. Grapheme und Steuerzeichen). Dies erlaubt Digital Geräte zur Kommunikation miteinander und zur Verarbeitung, Speicherung und Kommunikation von charakterorientierten Informationen wie schriftlicher Sprache. Bevor ASCII entwickelt wurde, umfassten die verwendeten Codierungen 26 alphabetisch Charaktere, 10 Numerische Ziffernund von 11 bis 25 spezielle grafische Symbole. All dies einzubeziehen und Zeichen zu steuern, die mit dem kompatibel sind Comité Consultatif International Téléphonique et Télégraphique (Ccitt) Internationales Telegraph Alphabet Nr. 2 (Ita2) Standard von 1924,[27][28] Fieldata (1956) und früh Ebcdic (1963) waren für ASCII mehr als 64 Codes erforderlich.
ITA2 war wiederum auf dem 5-Bit-Telegraphencode basierend Émile Baudot 1870 erfunden und 1874 patentiert.[28]
Das Komitee diskutierte die Möglichkeit von a Wechsel Funktion (wie in Ita2), was es ermöglichen würde, dass mehr als 64 Codes durch a dargestellt werden können Sechs-Bit-Code. In einem verschobenen Code bestimmen einige Zeichencodes die Auswahl zwischen den Optionen für die folgenden Zeichencodes. Es ermöglicht kompakte Codierung, ist aber weniger zuverlässig für DatenübertragungWenn ein Fehler beim Übertragen des Schaltcodes normalerweise einen langen Teil der Übertragung unlesbar macht. Das Standardausschuss entschied sich gegen Verschiebung, und so forderte ASCII mindestens einen Sieben-Bit-Code.[3]: 215 §13.6, 236 §4
Das Komitee betrachtete einen acht Bit-Code seit acht Bit (Oktetten) würde es zwei Vier-Bit-Mustern ermöglichen, zwei Ziffern effizient mit mit Binärcodierte Dezimalzahl. Es müsste jedoch alle Datenübertragungen acht Bits senden, wenn sieben ausreichen könnten. Der Ausschuss stimmte für die Verwendung eines Sieben-Bit-Code, um die mit der Datenübertragung verbundenen Kosten zu minimieren. Da perforiertes Klebeband zu dieser Zeit acht Bit in einer Position aufnehmen konnte, erlaubte es auch a Paritätsbit zum Fehlerüberprüfung wenn gewünscht.[3]: 217 §C, 236 §5 Acht-Bit Maschinen (mit Oktetten als nativem Datentyp), die keine Paritätsprüfung verwendeten, setzen das achte Bit in der Regel auf 0.[29]
Interne Organisation
Der Code selbst wurde so strukturiert, dass die meisten Kontrollcodes zusammen waren und alle Grafikcodes zusammen waren, um die Identifizierung zu erleichtern. Die ersten beiden sogenannten sogenannten ASCII -Stöcke[a][14] (32 Positionen) waren für Kontrollzeichen reserviert.[3]: 220, 236 8, 9) Das "Raum" Charakter musste vor Grafiken kommen, um zu machen Sortierung einfacher, also wurde es Position 20verhexen;[3]: 237 §10 Aus dem gleichen Grund wurden viele spezielle Zeichen, die üblicherweise als Trennzeichen verwendet wurden, vor Ziffern platziert. Das Komitee entschied, dass es wichtig war, zu unterstützen Großbuchstaben 64-Charakter-Alphabeteund entschieden sich für das Muster von ASCII, damit es leicht auf einen nutzbaren 64-Charakter-Satz von Grafikcodes reduziert werden kann.[3]: 228, 237 §14 wie in der Dez. Sechsbit Code (1963). Kleinbuchstaben Buchstaben wurden daher nicht mit Großbuchstaben verschachtelt. Um Optionen für Kleinbuchstaben und andere Grafiken zur Verfügung zu stellen, wurden vor den Buchstaben die speziellen und numerischen Codes angeordnet, und der Brief A wurde in Position 41 platziertverhexen dem Entwurf des entsprechenden britischen Standards entsprechen.[3]: 238 §18 Die Ziffern 0–9 sind mit 011 vorangestellt, aber die verbleibenden 4 Bit entsprechen ihren jeweiligen Werten in Binärer und macht Konvertierung mit Binärcodierte Dezimalzahl einfach.
Viele der nicht-alphanumerischen Zeichen wurden so positioniert, dass sie ihrer verschobenen Position auf Schreibmaschinen entsprechen. Eine wichtige Subtilität ist, dass diese auf mechanisch Schreibmaschinen, nicht elektrisch Schreibmaschinen.[30] Mechanische Schreibmaschinen folgten der De facto Standard gesetzt von der Remington Nr. 2 (1878), die erste Schreibmaschine mit einem Schaltschlüssel und die verschobenen Werte von 23456789-
war "#$%_ & '())
- Frühe Schreibmaschinen weggelassen 0 und 1, verwenden O (Großbuchstabe o) und l (Kleinbuchstabe L) stattdessen aber 1!
und 0)
Die Paare wurden Standard, sobald 0 und 1 gemeinsam wurden. Somit in ASCII ! "#$%
wurden in den zweiten Stock platziert,[a][14] Positionen 1–5, entsprechend den Ziffern 1–5 im benachbarten Stock.[a][14] Die Klammern konnten nicht entsprechen 9 und 0jedoch, weil der Ort entspricht 0 wurde vom Weltraumcharakter genommen. Dies wurde durch Entfernen untergebracht _
(unterstreichen) von 6 und Verschiebung der verbleibenden Zeichen, die vielen europäischen Schreibmaschinen entsprachen, die die Klammern mit platzierten 8 und 9. Diese Diskrepanz von Schreibmaschinen führte zu Bitpaare Tastaturen, insbesondere der Teletyp -Modell 33, die das linksverschobene Layout, das ASCII entsprach, unterschiedlich als herkömmliche mechanische Schreibmaschinen verwendete.
Elektrische Schreibmaschinen, insbesondere die IBM Selectric (1961) verwendeten ein etwas anderes Layout, das auf Computern de facto Standard geworden ist - folgt dem der IBM PC (1981), insbesondere Modell m (1984) - und so verschieben die Werte für Symbole auf modernen Tastaturen nicht so eng wie die ASCII -Tabelle wie frühere Tastaturen. Das /?
Paar stammt auch auf die Nr. 2 und die , <.>
Paare wurden auf einigen Tastaturen verwendet (andere, einschließlich der Nr. 2, veränderten sich nicht ,
(Komma) oder .
(Full Stop) damit sie in Großbuchstaben verwendet werden können, ohne sich zu entschlossen). ASCII spaltete jedoch die ;:
Paar (Datierung mit Nr. 2) und ordnete mathematische Symbole (unterschiedliche Konventionen, häufig -* =+
) zu :*;+ -=
.
Einige damals gewöhnliche Schreibmaschinen wurden nicht enthalten, insbesondere nicht ½ ¼ ¢
, während ^ `~
wurden als Diakritik für den internationalen Gebrauch einbezogen, und < >
Für die mathematische Verwendung zusammen mit den einfachen Zeilenzeichen \ |
(Zusätzlich zu gemeinsamen /
). Das @ Das Symbol wurde in Kontinentaleuropa nicht verwendet und der Ausschuss erwartete, dass es durch einen Akzent ersetzt wird À in der französischen Variation, also die @ wurde in Position 40 platziertverhexen, kurz vor dem Buchstaben A.[3]: 243
Die Kontrollcodes fühlten sich für die Datenübertragung unerlässlich an, der Beginn der Nachricht (SOM), Ende der Adresse (EOA). Ende der Nachricht (EOM), Ende der Übertragung (EOT): "Wer bist du?" (WRU), "Bist du?" (RU), eine reservierte Gerätesteuerung (DC0), synchroner Leerlauf (Synchronisation) und bestätigen (ACK). Diese wurden positioniert, um die zu maximieren Hamming -Entfernung zwischen ihren Bitmustern.[3]: 243–245
Charakterreihenfolge
ASCII-Code-Reihenfolge wird auch genannt Asciibetisch bestellen.[31] Kollation von Daten werden manchmal in dieser Reihenfolge statt "Standard" alphabetischer Reihenfolge durchgeführt (Sammelsequenz). Die Hauptabweichungen in der ASCII -Reihenfolge sind:
- Alle Großbuchstaben kommen vor Kleinbuchstaben; Zum Beispiel geht "z" "a" voraus
- Ziffern und viele Interpunktionsmarken kommen vor Briefen
Eine Zwischenordnung wandelt Großbuchstaben in Kleinbuchstaben um, bevor ASCII -Werte verglichen werden.
Charaktergruppen
Steuerzeichen
ASCII reserviert die ersten 32 Codes (Zahlen 0–31 Dezimalal) für Steuerzeichen: Codes, die ursprünglich nicht druckbare Informationen darstellen, sondern Geräte (wie z. Drucker), die ASCII verwenden oder bereitstellen Meta-Informationen über Datenströme wie die auf Magnetklebeband gespeicherten.
Zum Beispiel stellt Zeichen 10 die Funktion "Linienfutter" dar (die einen Drucker veranlasst, sein Papier voranzutreiben), und das Zeichen 8 "Rückraum". RFC 2822 bezieht sich auf Kontrollzeichen, die keine Wagenrückgabe, Linienfutter oder enthalten weißer Raum als Nicht-Whitespace-Steuerzeichen.[32] Mit Ausnahme der Kontrollzeichen, die elementare zeilenorientierte Formatierung verschreiben, definiert ASCII keinen Mechanismus zur Beschreibung der Struktur oder des Erscheinungsbilds von Text in einem Dokument. Andere Programme, wie z. Markup -Sprachen, Adressseite und Dokumentlayout und Formatierung.
Der ursprüngliche ASCII -Standard verwendet nur kurze deskriptive Phrasen für jedes Kontrollcharakter. Die Unklarheit, die diese verursachten Datenstromund manchmal zufällig, zum Beispiel mit der Bedeutung von "löschen".
Das wahrscheinlich einflussreichste Einzelgerät, das die Interpretation dieser Zeichen beeinflusst, war das Teletyp -Modell 33 ASR, ein Druckterminal mit einem verfügbaren Papier Klebeband Leser/Punchoption. Papierband war ein sehr beliebtes Medium für die Langzeitprogrammspeicherung bis in die 1980er Jahre, weniger kostspielig und in gewisser Weise weniger zerbrechlich als Magnetband. Insbesondere das Teletype-Modell 33 Maschinenzuweisungen für Codes 17 (Steuerelement-Q, DC1, auch bekannt als Xon), 19 (Control-S, DC3, auch als Xoff bekannt) und 127 (löschen) wurde de facto Standards. Das Modell 33 war auch bemerkenswert für die Beschreibung des Steuerelements (Code 7, Bel, was bedeutet, dass der Bediener hörbar alarmiert wurde) buchstäblich, da die Einheit eine tatsächliche Glocke enthielt, die er anrichtete, als er einen BEL-Charakter erhielt. Weil der Keytop für die O-Taste auch ein linkes Armesymbol zeigte (von ASCII-1963, das diesen Charakter anstelle von hatte unterstreichen) wurde auch von vielen frühen Timesharing-Systemen eine nicht komplizierte Verwendung von Code 15 (Kontroll-O, Verschiebung in) interpretiert, wurde aber schließlich vernachlässigt.
Als ein mit dem automatischer Papierkleberleser ausgestatteter Teletyp 33 ASR eine Steuer-S (XOFF, eine Abkürzung für den Übertrag) erhielt, ließ er den Bandleser anhalten. Das Empfangen von Kontroll-Q (Xon, Sender) führte dazu, dass der Bandleser wieder aufgenommen wurde. Das sogenannte Ablaufsteuerung Die Technik wurde von mehreren frühen Computerbetriebssystemen als "Handshaking" -Signalwarnung eines Absenders angewendet Pufferüberlauf; Es bleibt bis heute in vielen Systemen als manuelle Ausgangskontrolltechnik bestehen. Auf einigen Systemen behält Control-S seine Bedeutung bei, aber Control-Q wird durch eine zweite Steuerung ersetzt, um die Ausgabe wieder aufzunehmen.
Der 33-ASR könnte auch so konfiguriert werden, dass Control-R (DC2) und Steuerungst (DC4) verwendet werden, um den Klebebandstempel zu starten und zu stoppen. Bei einigen Einheiten, die mit dieser Funktion ausgestattet sind, war der entsprechende Steuerungsschriften in der Tastatur über dem Buchstaben Band und Klebeband und BAND beziehungsweise.[33]
Löschen gegen Rückseite
Der Teletyp konnte seinen Typkopf nicht rückwärts bewegen, sodass er keine Taste auf seiner Tastatur zum Senden eines BS (Backpace) hatte. Stattdessen gab es einen Schlüssel, der markiert war AUSRADIEREN Das sendete Code 127 (Del). Der Zweck dieses Schlüssels bestand darin, Fehler in einem manuell Eingangspapierband zu löschen sollte ignoriert werden.[34] Teletypen wurden üblicherweise mit den weniger teureren Computern von verwendet Digital Equipment Corporation (Dez); Diese Systeme mussten die Tasten verwenden, und daher wurde der Del -Code zugewiesen, um das vorherige Zeichen zu löschen.[35][36] Aus diesem Grund sendete DEC -Video -Terminals (standardmäßig) den Del -Code für den mit der "Backpace" gekennzeichneten Schlüssel, während der separate Taste "Löschen" eins gesendet hat Fluchtabfolge; Viele andere konkurrierende Terminals haben einen BS -Code für den Back -Taste -Schlüssel gesendet.
Der UNIX -Terminal -Treiber konnte nur einen Code verwenden, um das vorherige Zeichen zu löschen. Dies könnte auf BS eingestellt werden oder Del, aber nicht beides, was zu wiederkehrenden Situationen der Unklarheit führte, in denen die Benutzer entscheiden mussten, je nachdem, welches Terminal sie verwendeten (Muscheln das ermöglicht eine Linienbearbeitung, wie z. ksh, verprügeln, und ZSH, verstehen beide). Die Annahme, dass kein Schlüssel einen BS -Code gesendet hat, erlaubte die Steuerung+H für andere Zwecke, z. B. den Befehl "Hilfe" -Präfix in GNU EMACS.[37]
Flucht
Viele weitere der Kontrollcodes wurden von ihren ursprünglichen Bedeutungen zugewiesen. Das "Escape" -Charakter (ESC, Code 27) zum Beispiel sollte ursprünglich das Senden anderer Kontrollzeichen als Literale ermöglichen, anstatt ihre Bedeutung aufzurufen, eine "Escape -Sequenz". Dies ist die gleiche Bedeutung von "Escape" C Sprache Saiten und andere Systeme, in denen bestimmte Zeichen eine reservierte Bedeutung haben. Im Laufe der Zeit wurde diese Interpretation kooptiert und schließlich geändert.
In der modernen Verwendung schickte ein ESC gesendet zu Das Terminal zeigt normalerweise den Beginn einer Befehlssequenz an, normalerweise in Form eines sogenannten "."Ansi Escape Code"(oder genauer gesagt eine" Kontrollsequenz-Einführung ") von ECMA-48 (1972) und seinen Nachfolgern, beginnend mit ESC, gefolgt von einem" ["(linksüberlaufenden) Charakter. Im Gegensatz dazu, ein ESC gesendet aus Das Terminal wird am häufigsten als verwendet außerhalb der Bandbreite Zeichen, das verwendet wird, um einen Betrieb oder einen speziellen Modus zu beenden, wie in der Teco und vi Textredakteure. Im grafische Benutzeroberfläche (GUI) und Fenster Systeme, ESC führt im Allgemeinen eine Anwendung dazu Ausfahrt (enden) insgesamt.
Ende der Linie
Die inhärente Mehrdeutigkeit vieler Kontrollfiguren in Kombination mit ihrer historischen Verwendung verursachte Probleme beim Übertragen von "Klartext" -Dateien zwischen Systemen. Das beste Beispiel dafür ist das Neue Zeile Problem bei verschiedenen Betriebssysteme. Teletypmaschinen forderten, dass eine Textlinie sowohl mit "Wagenrendite" (was den Druckkopf zum Beginn der Linie bewegt) und "Linienfutter" (was die Papierzeile vorantreibt, ohne den Druckkopf zu bewegen). Der Name "Wagenrücklauf" ergibt sich aus der Tatsache, dass auf einem Handbuch Schreibmaschine Der Kutschen, der das Papier hält, bewegt sich, während die TypBars, die das Band schlagen, stationär bleiben. Der gesamte Wagen musste nach rechts gedrückt (zurückgegeben) werden, um das Papier für die nächste Linie zu positionieren.
Dec -Betriebssysteme (OS/8, RT-11, RSX-11, RSTS, Tops-10usw.) verwendete beide Zeichen, um das Ende einer Linie zu markieren, damit das Konsolengerät (ursprünglich Teletypmaschinen) funktionieren würde. Als sogenannte "Glass Ttys" (später CRTS oder "Dumme Terminals" genannt) kamen, war die Konvent Rückwärtskompatibilität notwendig, weiter zu folgen. Wann Gary Kildall erstellt CP/mEr ließ sich von einigen der im DEC-Betriebssystem von DEC verwendeten Befehlslinienschnittstellenkonventionen inspirieren.
Bis zur Einführung von PC DOS im Jahr 1981, IBM Hatte keinen Einfluss darauf, da ihre Betriebssysteme aus den 1970er Jahren Ebcdic-Codierung anstelle von ASCII verwendeten und sie an der Ausgabe von Punch-Card-Eingaben und Liniendruckern ausgerichtet waren, auf der das Konzept der "Wagenrückgabe" bedeutungslos war. PC DOS von IBM (auch vermarktet als MS-DOS von Microsoft) erbte die Konvention, weil sie lose auf CP/M basierten,[38] und Fenster wiederum erbte es von MS-DOS.
Wenn zwei Zeichen das Ende einer Zeile markieren, führt die unnötige Komplexität und Unklarheit in der Interpretation jedes Charakters bei der Begegnung von selbst ein. Sachen zu vereinfachen, einfacher Text Datenströme, einschließlich Dateien, auf Mehrheit[39] Gebrauchtes Linienvorschub (LF) allein als Linien -Terminator. Unix und Unix-artig Systeme und Amiga Systeme, die diese Konvention aus mehreren Mehrheit übernommen haben. Andererseits das Original Macintosh OS, Apfeldos, und Prodos gebrauchte Wagenrückgabe (CR) allein als Linien -Terminator; Da Apple nun diese veralteten Betriebssysteme durch das Unix-basierte Unix-basierte ersetzt hat Mac OS Betriebssystem verwenden sie jetzt auch Line Feed (LF). Die Funkhütte TRS-80 benutzte auch eine einsame Cr, um Linien zu beenden.
An die angehängte Computer Arpanet Eingeschlossene Maschinen, die Betriebssysteme wie TOPS-10 und ausführen TEMEX mit CR-LF-Linienenden; Maschinen, die Betriebssysteme wie Multics unter Verwendung von LF -Linienenden ausführen; und Maschinen, die Betriebssysteme ausführen, wie z. OS/360 Das repräsentierte Linien als Zeichenanzahl, gefolgt von den Zeichen der Zeile und verwendete Ebcdic anstelle von ASCII -Codierung. Das Telnet Das Protokoll definierte ein ASCII-Netzwerk "Network Virtual Terminal" (NVT), so dass Verbindungen zwischen Hosts mit unterschiedlichen Konventionen zum Ende der Linien und Zeichen unterstützt werden können, indem ein Standardtextformat über das Netzwerk übertragen wird. Telnet verwendete ASCII zusammen mit CR-LF-Linienendungen, und Software, die andere Konventionen verwenden, würde zwischen den lokalen Konventionen und der NVT übersetzt.[40] Das Dateitransferprotokoll Übernahm das Telnet -Protokoll, einschließlich der Verwendung des virtuellen Netzwerks, zur Verwendung bei der Übertragung von Befehlen und Übertragen von Daten im Standard -ASCII -Modus.[41][42] Dies erhöht die Komplexität der Implementierungen dieser Protokolle und anderen Netzwerkprotokollen, wie z.[43][44]
Ende der Datei/Stream
Der PDP-6-Monitor,[35] und sein PDP-10-Nachfolger Tops-10,[36] Verwendete Steuerelement-Z (Sub) als Indikationsanzeige für die Eingabe von einem Terminal. Einige Betriebssysteme wie CP/M verfolgten die Dateilänge nur in Einheiten von Festplattenblöcken und verwendeten Control-Z, um das Ende des tatsächlichen Textes in der Datei zu markieren.[45] Aus diesen Gründen, eof oder Ende der Datei, wurde umgangssprachlich und konventionell als Drei-Buchstaben-Akronym für Kontroll-Z statt Ersatz. Der Textendeende (Code des Textes (ETX), auch bekannt als Kontrolle-Cwar aus verschiedenen Gründen unangemessen, während Z als Kontrollcode zum Beenden einer Datei analog zu ihrer Position am Ende des Alphabets ist und sehr bequem ist Mnemonische Hilfe. Eine historisch häufig vorkommende und immer noch weit verbreitete Konvention verwendet die ETX -Codekonvention, um ein Programm über einen Eingabedatenstrom, normalerweise von einer Tastatur, zu unterbrechen und zu stoppen.
In C -Bibliothek und Unix -Konventionen die Nullcharakter wird verwendet, um Text zu beenden Saiten; eine solche Null-terminierte Saiten kann in der Abkürzung als Asciz oder Asciiz bekannt sein, wo hier Z für "Null" steht.
Steuercode -Diagramm
Binär | Oktober | Dez | Verhexen | Abkürzung | Unicode Kontrollbilder[b] | Pflege Notation[c] | C Fluchtabfolge[d] | Name (1967) | ||
---|---|---|---|---|---|---|---|---|---|---|
1963 | 1965 | 1967 | ||||||||
000 0000 | 000 | 0 | 00 | NULL | Nul | ␀ | ^@ | \0 | Null | |
000 0001 | 001 | 1 | 01 | SO M | Soh | ␁ | ^A | Übergangsstart | ||
000 0010 | 002 | 2 | 02 | EOA | Stx | ␂ | ^B | Textstart | ||
000 0011 | 003 | 3 | 03 | Eom | ETX | ␃ | ^C | Textende | ||
000 0100 | 004 | 4 | 04 | Eot | ␄ | ^D | Ende der Übertragung | |||
000 0101 | 005 | 5 | 05 | WRU | Enq | ␅ | ^E | Anfrage | ||
000 0110 | 006 | 6 | 06 | Ru | Ack | ␆ | ^F | Wissen | ||
000 0111 | 007 | 7 | 07 | GLOCKE | Bel | ␇ | ^G | \a | Glocke | |
000 1000 | 010 | 8 | 08 | Fe0 | BS | ␈ | ^H | \b | Rücktaste[e][f] | |
000 1001 | 011 | 9 | 09 | HT/SK | Ht | ␉ | ^I | \t | Horizontale Registerkarte[g] | |
000 1010 | 012 | 10 | 0a | Lf | ␊ | ^J | \n | Zeilenvorschub | ||
000 1011 | 013 | 11 | 0b | Vtab | Vt | ␋ | ^K | \ v | Vertikale Registerkarte | |
000 1100 | 014 | 12 | 0c | Ff | ␌ | ^L | \f | Formfutter | ||
000 1101 | 015 | 13 | 0d | Cr | ␍ | ^M | \r | Kutschenrückkehr[h] | ||
000 1110 | 016 | 14 | 0e | ALSO | ␎ | ^N | Verschieben | |||
000 1111 | 017 | 15 | 0f | Si | ␏ | ^O | Verschieben | |||
001 0000 | 020 | 16 | 10 | DC0 | Dle | ␐ | ^P | Datenverbindung Escape | ||
001 0001 | 021 | 17 | 11 | DC1 | ␑ | ^Q | Gerätesteuerung 1 (häufig Xon)) | |||
001 0010 | 022 | 18 | 12 | DC2 | ␒ | ^R | Gerätesteuerung 2 | |||
001 0011 | 023 | 19 | 13 | DC3 | ␓ | ^S | Gerätesteuerung 3 (häufig Xoff)) | |||
001 0100 | 024 | 20 | 14 | DC4 | ␔ | ^T | Gerätesteuerung 4 | |||
001 0101 | 025 | 21 | 15 | IRREN | Nak | ␕ | ^U | Negative Anerkennung | ||
001 0110 | 026 | 22 | 16 | Synchronisation | Syn | ␖ | ^V | Synchroner Leerlauf | ||
001 0111 | 027 | 23 | 17 | Lem | ETB | ␗ | ^W | Ende des Übertragungsblocks | ||
001 1000 | 030 | 24 | 18 | S0 | KANN | ␘ | ^X | Absagen | ||
001 1001 | 031 | 25 | 19 | S1 | Em | ␙ | ^Y | Ende des Mediums | ||
001 1010 | 032 | 26 | 1a | S2 | Ss | Sub | ␚ | ^Z | Ersatz | |
001 1011 | 033 | 27 | 1b | S3 | ESC | ␛ | ^[ | \ e[ich] | Flucht[j] | |
001 1100 | 034 | 28 | 1c | S4 | Fs | ␜ | ^\ | Dateiabscheider | ||
001 1101 | 035 | 29 | 1d | S5 | Gs | ␝ | ^]] | Gruppenabscheider | ||
001 1110 | 036 | 30 | 1e | S6 | Rs | ␞ | ^^[k] | Aufzeichnungsabscheider | ||
001 1111 | 037 | 31 | 1f | S7 | UNS | ␟ | ^_ | Einheitsabscheider | ||
111 1111 | 177 | 127 | 7f | Del | ␡ | ^? | Löschen[l][f] |
Andere Darstellungen können beispielsweise von Spezialausrüstung verwendet werden ISO 2047 Grafik oder hexadezimal Zahlen.
Druckbare Zeichen
Codes 20verhexen bis 7everhexen, bekannt als die druckbaren Zeichen, repräsentieren Buchstaben, Ziffern, Satzzeichenund ein paar verschiedene Symbole. Insgesamt gibt es 95 druckbare Zeichen.[m]
Code 20verhexen, der "Raum" -Zeichen, bezeichnet den Raum zwischen den Wörtern, wie sie durch die Raumstange einer Tastatur erzeugt wird. Da der Raumzeichen als unsichtbare Grafik angesehen wird (und nicht als Kontrollcharakter)[3]: 223[46] Es ist in der folgenden Tabelle statt im vorherigen Abschnitt aufgeführt.
Code 7fverhexen Entspricht dem nicht printbaren "Delete" (Del) -Kontrollzeichen und wird daher in diesem Diagramm weggelassen. Es wird im Diagramm des vorherigen Abschnitts behandelt. Frühere Versionen von ASCII verwendeten den UP -Pfeil anstelle der Pflege (5everhexen) und der linke Pfeil anstelle des Unterstrichs (5fverhexen).[5][47]
Binär | Oktober | Dez | Verhexen | Glyphe | ||
---|---|---|---|---|---|---|
1963 | 1965 | 1967 | ||||
010 0000 | 040 | 32 | 20 | Platz | ||
010 0001 | 041 | 33 | 21 | ! | ||
010 0010 | 042 | 34 | 22 | " | ||
010 0011 | 043 | 35 | 23 | # | ||
010 0100 | 044 | 36 | 24 | $ | ||
010 0101 | 045 | 37 | 25 | % | ||
010 0110 | 046 | 38 | 26 | & | ||
010 0111 | 047 | 39 | 27 | ' | ||
010 1000 | 050 | 40 | 28 | ( | ||
010 1001 | 051 | 41 | 29 | ) | ||
010 1010 | 052 | 42 | 2a | * | ||
010 1011 | 053 | 43 | 2b | + | ||
010 1100 | 054 | 44 | 2c | , | ||
010 1101 | 055 | 45 | 2d | - | ||
010 1110 | 056 | 46 | 2e | . | ||
010 1111 | 057 | 47 | 2f | / | ||
011 0000 | 060 | 48 | 30 | 0 | ||
011 0001 | 061 | 49 | 31 | 1 | ||
011 0010 | 062 | 50 | 32 | 2 | ||
011 0011 | 063 | 51 | 33 | 3 | ||
011 0100 | 064 | 52 | 34 | 4 | ||
011 0101 | 065 | 53 | 35 | 5 | ||
011 0110 | 066 | 54 | 36 | 6 | ||
011 0111 | 067 | 55 | 37 | 7 | ||
011 1000 | 070 | 56 | 38 | 8 | ||
011 1001 | 071 | 57 | 39 | 9 | ||
011 1010 | 072 | 58 | 3a | : | ||
011 1011 | 073 | 59 | 3b | ; | ||
011 1100 | 074 | 60 | 3c | < | ||
011 1101 | 075 | 61 | 3d | = | ||
011 1110 | 076 | 62 | 3e | > | ||
011 1111 | 077 | 63 | 3f | ? | ||
100 0000 | 100 | 64 | 40 | @ | ` | @ |
100 0001 | 101 | 65 | 41 | A | ||
100 0010 | 102 | 66 | 42 | B | ||
100 0011 | 103 | 67 | 43 | C | ||
100 0100 | 104 | 68 | 44 | D | ||
100 0101 | 105 | 69 | 45 | E | ||
100 0110 | 106 | 70 | 46 | F | ||
100 0111 | 107 | 71 | 47 | G | ||
100 1000 | 110 | 72 | 48 | H | ||
100 1001 | 111 | 73 | 49 | I | ||
100 1010 | 112 | 74 | 4a | J | ||
100 1011 | 113 | 75 | 4b | K | ||
100 1100 | 114 | 76 | 4c | L | ||
100 1101 | 115 | 77 | 4d | M | ||
100 1110 | 116 | 78 | 4e | N | ||
100 1111 | 117 | 79 | 4f | O | ||
101 0000 | 120 | 80 | 50 | P | ||
101 0001 | 121 | 81 | 51 | Q | ||
101 0010 | 122 | 82 | 52 | R | ||
101 0011 | 123 | 83 | 53 | S | ||
101 0100 | 124 | 84 | 54 | T | ||
101 0101 | 125 | 85 | 55 | U | ||
101 0110 | 126 | 86 | 56 | V | ||
101 0111 | 127 | 87 | 57 | W | ||
101 1000 | 130 | 88 | 58 | X | ||
101 1001 | 131 | 89 | 59 | Y | ||
101 1010 | 132 | 90 | 5a | Z | ||
101 1011 | 133 | 91 | 5b | [ | ||
101 1100 | 134 | 92 | 5c | \ | ~ | \ |
101 1101 | 135 | 93 | 5d | ] | ||
101 1110 | 136 | 94 | 5e | ↑ | ^ | |
101 1111 | 137 | 95 | 5f | ← | _ | |
110 0000 | 140 | 96 | 60 | @ | ` | |
110 0001 | 141 | 97 | 61 | a | ||
110 0010 | 142 | 98 | 62 | b | ||
110 0011 | 143 | 99 | 63 | c | ||
110 0100 | 144 | 100 | 64 | d | ||
110 0101 | 145 | 101 | 65 | e | ||
110 0110 | 146 | 102 | 66 | f | ||
110 0111 | 147 | 103 | 67 | g | ||
110 1000 | 150 | 104 | 68 | h | ||
110 1001 | 151 | 105 | 69 | i | ||
110 1010 | 152 | 106 | 6a | j | ||
110 1011 | 153 | 107 | 6b | k | ||
110 1100 | 154 | 108 | 6c | l | ||
110 1101 | 155 | 109 | 6d | m | ||
110 1110 | 156 | 110 | 6e | n | ||
110 1111 | 157 | 111 | 6F | o | ||
111 0000 | 160 | 112 | 70 | p | ||
111 0001 | 161 | 113 | 71 | q | ||
111 0010 | 162 | 114 | 72 | r | ||
111 0011 | 163 | 115 | 73 | s | ||
111 0100 | 164 | 116 | 74 | t | ||
111 0101 | 165 | 117 | 75 | u | ||
111 0110 | 166 | 118 | 76 | v | ||
111 0111 | 167 | 119 | 77 | w | ||
111 1000 | 170 | 120 | 78 | x | ||
111 1001 | 171 | 121 | 79 | y | ||
111 1010 | 172 | 122 | 7A | z | ||
111 1011 | 173 | 123 | 7b | { | ||
111 1100 | 174 | 124 | 7c | Ack | ¬ | | |
111 1101 | 175 | 125 | 7d | } | ||
111 1110 | 176 | 126 | 7e | ESC | | | ~ |
Zeichensatz
ASCII (1977/1986) | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | EIN | B | C | D | E | F | |
0x | Nul | Soh | Stx | ETX | Eot | Enq | Ack | Bel | BS | Ht | Lf | Vt | Ff | Cr | ALSO | Si |
1x | Dle | DC1 | DC2 | DC3 | DC4 | Nak | Syn | ETB | KANN | Em | Sub | ESC | Fs | Gs | Rs | UNS |
2x | Sp | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
5x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
6x | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
7x | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | Del |
1963 geändert oder hinzugefügt in der Version 1963 hinzugefügt Änderte sich sowohl in der Version 1963 als auch in den Entwürfen von 1965 |
Verwendungszweck
ASCII wurde erstmals 1963 im Jahr 1963 als sieben-Bit Amerikanisches Telefon & Telegraph's TWX (Teletypewriter Exchange) Netzwerk. TWX verwendete ursprünglich den früheren Fünf-Bit Ita2, was auch vom Wettbewerb verwendet wurde Telex Teleprinärsystem. Bob Bemer eingeführte Funktionen wie die Fluchtabfolge.[4] Sein britischer Kollege Hugh McGregor Ross half bei der Popularisierung dieser Arbeit - laut Bemer "so sehr, dass der Code, der ASCII werden sollte, zuerst die genannt wurde Bemer -Ross -Code in Europa".[48] Aufgrund seiner umfangreichen Arbeiten an ASCII wurde Bemer "der Vater von ASCII" genannt.[49]
Am 11. März 1968, US -Präsident, Lyndon B. Johnson beauftragt, dass alle von der gekauften Computer gekauft wurden Bundesregierung der Vereinigten Staaten Unterstützen Sie ASCII, Angabe:[50][51][52]
Ich habe auch Empfehlungen der genehmigt Handelsminister [Luther H. Hodges] In Bezug auf Standards für die Aufzeichnung des Standardcodes zum Informationsaustausch auf Magnetbändern und Papierbändern, wenn sie im Computerbetrieb verwendet werden. Alle Computer und verwandten Gerätekonfigurationen, die am und nach dem 1. Juli 1969 in das Inventar der Bundesregierung eingebracht wurden, müssen die Möglichkeit haben, den Standardcode zum Informationsaustausch und die Formate der Magnetklebeband und Papierbandstandards zu verwenden, wenn diese Medien verwendet werden.
ASCII war der häufigste Charakter, der auf dem kodiert wurde Weltweites Netz bis Dezember 2007 wann UTF-8 Codierung übertraf es; UTF-8 ist rückwärtskompatibel mit ASCII.[53][54][55]
Varianten und Ableitungen
Da sich die Computertechnologie auf der ganzen Welt ausbreitete, anders Standardkörper und Unternehmen entwickelten viele Variationen von ASCII, um den Ausdruck nicht englischer Sprachen zu erleichtern, die Alphabete auf römischer Basis verwendeten. Man könnte einige dieser Variationen als "als" klassifizieren "klassifizieren"ASCII -Erweiterungen"Obwohl einiger Missbrauch dieser Begriff, um alle Varianten darzustellen, einschließlich derer, die ASCIIs Charaktermap im 7-Bit-Bereich nicht bewahren. Darüber hinaus wurden die ASCII-Erweiterungen auch als ASCII missbräucht.
7-Bit-Codes
Ab Anfang seiner Entwicklung,[56] ASCII sollte nur einer von mehreren nationalen Varianten eines internationalen Charakterkodierungsstandards sein.
Andere internationale Standards haben ratifizierte Charakter -Codierungen wie z. ISO 646 (1967), die identisch oder nahezu identisch mit ASCII sind, mit Erweiterungen für Zeichen außerhalb der Engländer Alphabet und Symbole, die außerhalb der Vereinigten Staaten verwendet werden, wie das Symbol für das Vereinigte Königreich Pfund Sterling (£); z.B. mit Code Seite 1104. Fast jedes Land brauchte eine angepasste Version von ASCII, da ASCII nur den Bedürfnissen der USA und einiger anderer Länder entsprach. Zum Beispiel hatte Kanada eine eigene Version, die französische Charaktere unterstützte.
Viele andere Länder entwickelten Varianten von ASCII für nicht englische Buchstaben (z. é, ñ, ß, Ł), Währungssymbole (z. £, ¥) usw. auch siehe Yuscii (Jugoslawien).
Es würde die meisten Charaktere gemeinsam teilen, aber anderen anderen lokal nützlichen Zeichen zuweisen Codepunkte reserviert für "nationale Verwendung". Die vier Jahre, die zwischen der Veröffentlichung von ASCII-1963 und der ersten Akzeptanz einer internationalen Empfehlung durch ISO im Jahr 1967 verstrichen sind[57] verursachte die Entscheidungen von ASCII, dass die nationalen Nutzungsfiguren de facto -Standards für die Welt zu sein scheinen, was Verwirrung und Inkompatibilität verursachte, sobald andere Länder ihre eigenen Aufgaben zu diesen Codepunkten erbrachten.
ISO/IEC 646 ist wie ASCII ein 7-Bit-Zeichenset. Es ist keine zusätzlichen Codes verfügbar, sodass dieselben Codepunkte in verschiedenen Ländern verschiedene Zeichen codiert haben. Escape-Codes wurden definiert, um anzuzeigen, welche nationale Variante auf ein Textstück angewendet wurden, aber sie wurden selten verwendet. Es war daher oft unmöglich zu wissen, mit welcher Variante sie arbeiten und mit welchem Charakter ein Code im Allgemeinen Text dargestellt wurde. Verarbeitungssysteme könnten sowieso nur mit einer Variante fertig werden.
Weil die Klammer- und Klammerzeichen von ASCII den "nationalen Gebrauchs -Codepunkten" zugewiesen wurden, die für Akzentschreiben in anderen nationalen Varianten von ISO/IEC 646, einem Deutsch, Französisch oder Schwedisch usw. verwendet wurden /IEC 646 als ASCII musste so etwas schreiben und so lesen, wie etwas wie
äIeniü = 'ön'; ü
Anstatt von
{a [i] = '\ n'; }
C Trigraphen wurden erstellt, um dieses Problem für zu lösen Ansi cObwohl ihre verspätete Einführung und inkonsistente Implementierung in Compilers ihre Verwendung beschränkten. Viele Programmierer hielten ihre Computer auf US-ASCII, so einfach Text auf Schwedisch, Deutsch usw. (z. B. in E-Mail oder in E-Mail oder Usenet) enthielt "{,}" und ähnliche Varianten in der Mitte der Wörter, an die sich diese Programmierer gewöhnt haben. Zum Beispiel könnte ein schwedischer Programmierer, der einen anderen Programmierer schick Sandwiches".
In Japan und Korea, immer noch ab den 2020er Jahren,[aktualisieren] Eine Variation von ASCII wird verwendet, in dem die Backslash (5c hex) wird als ¥ (a Yen Zeichen, in Japan) oder ₩ (a Gewonnenes Zeichen, in Korea). Dies bedeutet, dass beispielsweise der Dateipfad C: \ Users \ Smith als C: ¥ Users ¥ Smith (in Japan) oder C: ₩ Users ₩ Smith (in Korea) angezeigt wird.
8-Bit-Codes
Schließlich als 8-, 16-, und 32-Bit (und später 64-Bit) Computer begannen zu ersetzen 12-, 18-, und 36-Bit Computer als Norm, es wurde üblich, ein 8-Bit-Byte zu verwenden, um jeden Charakter im Speicher zu speichern, was die Möglichkeit für erweiterte 8-Bit-Verwandte von ASCII bot. In den meisten Fällen entwickelten sich diese als echte Erweiterungen von ASCII, wobei das ursprüngliche Charakter-Mapping intakt blieb, aber nach den ersten 128 (d. H. 7-Bit) Zeichen zusätzliche Zeichendefinitionen hinzufügt.
Zu den Codierungen gehören Iscii (Indien), Viscii (Vietnam). Obwohl diese Codierungen manchmal als ASCII bezeichnet werden, wird echte ASCII nur durch den ANSI -Standard definiert.
Die meisten frühen Heimcomputersysteme entwickelten ihre eigenen 8-Bit-Charakter-Sets, die Zeilen- und Spielglyphen enthielten, und füllten häufig einige oder alle Steuerzeichen von 0 bis 31 mit mehr Grafiken aus. Kaypro CP/m Computer verwendeten die "oberen" 128 Zeichen für das griechische Alphabet.
Das PETSCII Code Commodore International für ihre verwendet 8 Bit Systeme sind wahrscheinlich einzigartig unter den Codes nach 1970, wenn sie auf ASCII-1963 basieren, anstatt auf den allgemeinen ASCII-1967, wie sie auf dem gefunden wurden ZX -Spektrum Computer. Atari 8-Bit-Computer und Galaksija Computer verwendeten auch ASCII -Varianten.
Der IBM PC definiert Code Seite 437, was die Steuerzeichen durch grafische Symbole ersetzte wie z. lächelnde Gesichterund zitierten zusätzliche grafische Zeichen in die oberen 128 Positionen. Betriebssysteme wie z. DOS unterstützte diese Codeseiten und Hersteller von IBM PCs unterstützte sie in Hardware. Digital Equipment Corporation entwickelte die Multinationaler Charaktersatz (DEC-MCS) zur Verwendung im Volksbetrag VT220 Terminal Als eine der ersten Erweiterungen, die mehr für internationale Sprachen als für Blockgrafiken entwickelt wurden. Der Macintosh definiert Mac OS Roman Außerdem definierte Postscript einen Satz, beide enthielten sowohl internationale Buchstaben als auch typografische Interpunktionsmarken anstelle von Grafiken, eher wie moderne Zeichensätze.
Das ISO/IEC 8859 Standard (abgeleitet von den DEC-MCs) lieferte schließlich einen Standard, den die meisten Systeme kopierten (zumindest genauso genau wie sie ASCII, jedoch mit vielen Substitutionen). Eine beliebte weitere Erweiterung von Microsoft, Windows-1252 (oft falsch als ISO-8859-1), fügte die typografischen Interpunktionsmarken hinzu, die für den herkömmlichen Textdruck erforderlich sind. ISO-8859-1, Windows-1252 und der ursprüngliche 7-Bit-ASCII waren bis 2008 die häufigsten Zeichenkodierungen, als UTF-8 wurde häufiger.[54]
ISO/IEC 4873 eingeführte 32 zusätzliche Kontrollcodes, die im 80–9F definiert sind hexadezimal Reichweite im Rahmen der Erweiterung der 7-Bit-ASCII-Kodierung zu einem 8-Bit-System.[58]
Unicode
Unicode und die ISO/IEC 10646 Universeller Charakter -Set (UCS) haben eine viel größere Reihe von Charakteren und ihre verschiedenen Codierungsformen haben in vielen Umgebungen schnell ISO/IEC 8859 und ASCII ersetzt. Während ASCII auf 128 Zeichen begrenzt ist, unterstützen Unicode und die UCS mehr Zeichen, indem sie die Konzepte der eindeutigen Identifizierung trennen (Verwendung natürliche Zahlen genannt Codepunkte) und Codierung (bis 8-, 16- oder 32-Bit-Binärformate, genannt UTF-8, UTF-16, und UTF-32, beziehungsweise).
ASCII wurde in den Unicode (1991) -Schitronisch als die ersten 128 Symbole eingebaut, sodass die 7-Bit-ASCII-Zeichen in beiden Sätzen die gleichen numerischen Codes aufweisen. Dies erlaubt UTF-8 sein rückwärtskompatibel Bei 7-Bit-ASCII ist als UTF-8-Datei, das nur ASCII-Zeichen enthält, mit einer ASCII-Datei identisch, die dieselbe Zeichenfolge enthält. Noch wichtiger ist, Vorwärtskompatibilität wird als Software sichergestellt, die nur 7-Bit-ASCII-Zeichen als speziell anerkennt und Bytes nicht mit dem höchsten Bit-Set ändert (wie es häufig zur Unterstützung von 8-Bit-ASCII unverändert.[59]
Siehe auch
- 3568 ASCII, ein Asteroiden, der nach der Charaktercodierung benannt ist
- ALT -Codes
- ASCII85
- ASCII Art
- ASCII -Ribbon -Kampagne
- Basic Latin (Unicode block) (ASCII als Untergruppe von Unicode)
- Erweiterte ASCII
- HTML -Dezimalfigur -Rendering
- Jargon -Datei, ein Glossar des Computerprogrammierers -Slang, der eine Liste gemeinsamer Slang -Namen für ASCII -Zeichen enthält
- Liste der Computercharaktersätze
- Liste der Unicode -Zeichen
Anmerkungen
- ^ a b c d e Die 128 Zeichen des 7-Bit-ASCII-Charakters sind in acht 16-Charakter-Gruppen unterteilt, die genannt werden Stöcke 0–7, mit den drei verbunden meist signifikant.[14] Abhängig von der horizontalen oder vertikalen Darstellung der Zeichenkarte,, Stöcke entsprechen entweder Tabellenreihen oder Spalten.
- ^ Die Unicode -Zeichen aus dem Bereich "Control Pictures" U+2400 bis U+2421, der für die Darstellung von Steuerzeichen reserviert ist, wenn es erforderlich ist, sie zu drucken oder anzuzeigen, anstatt sie ihre beabsichtigte Funktion ausführen zu lassen. Einige Browser zeigen diese möglicherweise nicht ordnungsgemäß an.
- ^ Die Pflegenotation wird häufig verwendet, um Kontrollzeichen an einem Terminal darzustellen. In den meisten Textanschlüssen halten Sie die Down -Halten Strg Tasten beim Eingeben des zweiten Zeichens eingeben das Steuerzeichen. Manchmal wird beispielsweise der Schaltschlüssel nicht benötigt
^@
kann mit nur Strg und 2 typbar sein. - ^ Charakter -Fluchtsequenzen in der C -Programmiersprache und viele andere Sprachen, die davon beeinflusst werden, wie z. Java und Perl (Obwohl nicht alle Implementierungen notwendigerweise alle Fluchtsequenzen unterstützen).
- ^ Das Rücktaste Charakter kann auch eingetragen werden, indem Sie auf das drücken ← Rückraum Schlüssel für einige Systeme.
- ^ a b Die Mehrdeutigkeit von Rücktaste ist auf die frühen Terminals zurückzuführen, die angenommen wird, dass die Hauptverwendung der Tastatur darin besteht, Papierklebeband manuell zu schlagen, während sie nicht mit einem Computer verbunden sind. Um das vorherige Charakter zu löschen, musste man den Papierbandstempel sichern, der aus mechanischen und einfachen Gründen ein Knopf auf dem Schlag selbst und nicht die Tastatur war, dann geben Sie den Rubout -Zeichen ein. Sie platzierten daher einen Schlüssel, der an der Stelle, an der für die Rückseite für Schreibmaschinen verwendet, ein Rubout erstellt wurde. Als Systeme diese Terminals verwendeten und die Befehlszeilenbearbeitung zur Verfügung stellten, mussten sie den Code "Rubout" verwenden, um einen Rückenraum auszuführen, und das Backpace-Charakter oft nicht interpretierte (sie können wiederholt. " ^H"Für Rückraum). Andere Terminals, die nicht für Papierband ausgelegt sind, machten den Schlüssel an dieser Stelle den Rückraum der Rückseite und Systeme, die für diese verwendeten diesen Charakter ausgelegt sind. Da der Löschcode häufig einen Rückraum -Effekt erzeugt hat, zwang dies auch die Terminalhersteller zum Erstellen irgendein Löschen Schlüssel produzieren etwas anderes als den Löschcharakter.
- ^ Das Tab -Zeichen kann auch eingetragen werden, indem Sie die drücken Tab ↹ Schlüssel für die meisten Systeme.
- ^ Das Kutschenrückkehr Charakter kann auch eingetragen werden, indem Sie auf das drücken ↵ Geben Sie ein oder Zurückkehren Schlüssel für die meisten Systeme.
- ^ Das \ e Fluchtabfolge ist nicht Teil von ISO c und viele andere Sprachspezifikationen. Es wird jedoch von mehreren Compilern verstanden, einschließlich GCC.
- ^ Das Escape-Zeichen kann auch eingetragen werden, indem Sie die drücken Esc Schlüssel für einige Systeme.
- ^ ^^ bedeutet Strg+^ (Drücken Sie den "Strg" und Pflege Schlüssel).
- ^ Das Charakter löschen kann manchmal eingetragen werden, indem Sie die drücken ← Rückraum Schlüssel für einige Systeme.
- ^ Ausgedruckt sind die Charaktere:
! "#$%& '()*+,-./0123456789:;
Verweise
- ^ Ansi (1975-12-01). ISO-IR-6: ASCII-Grafikzeichensatz (PDF). Itcj/Ipsj.
- ^ a b "Charaktersätze". Internet zugewiesene Zahlen Autorität (IANA). 2007-05-14. Abgerufen 2019-08-25.
- ^ a b c d e f g h i j k l m n o p q r s Mackenzie, Charles E. (1980). Codierte Zeichensätze, Geschichte und Entwicklung (PDF). Die Systems -Programmierreihen (1 ed.). Addison-Wesley Publishing Company, Inc. S. 6, 66, 211, 215, 217, 220, 223, 228, 236–238, 243–245, 247–253, 423, 425–428, 435–439. ISBN 978-0-201-14460-4. Lccn 77-90165. Archiviert (PDF) Aus dem Original am 26. Mai 2016. Abgerufen 25. August, 2019.
- ^ a b Brandel, Mary (1999-07-06). "1963: Das Debüt von ASCII". CNN. Archiviert vom Original am 2013-06-17. Abgerufen 2008-04-14.
- ^ a b c d "Amerikanischer Standardcode für Informationsaustausch, ASA X3.4-1963". American Standards Association (ALS EIN). 1963-06-17. Abgerufen 2020-06-06.
- ^ a b c "USA Standardcode für den Informationsaustausch, USAS x3.4-1967". United States of America Standards Institute (Usasi). 1967-07-07.
{{}}
: Journal zitieren erfordert|journal=
(Hilfe) - ^ Jennings, Thomas Daniel (2016-04-20) [1999]. "Eine kommentierte Geschichte einiger Zeichencodes oder ASCII: Amerikanischer Standardcode für Informationsinfiltration". Sensible Forschung (SR-IX). Abgerufen 2020-03-08.
- ^ a b c "American National Standard für Informationssysteme-codierte Zeichensätze-7-Bit American National Standard Code für Informationsaustausch (7-Bit ASCII), ANSI X3.4-1986". American National Standards Institute (ANSI). 1986-03-26.
{{}}
: Journal zitieren erfordert|journal=
(Hilfe) - ^ Vint Cerf (1969-10-16). ASCII -Format für den Netzwerkstausch. Ietf. doi:10.17487/rfc0020. RFC 20.
- ^ Barry Leiba (2015-01-12). "Richtige Klassifizierung von RFC 20 (ASCII -Format) in den Internetstandard". Ietf.
- ^ Shirley, R. (August 2007), Internet -Sicherheit Glossar, Version 2, RFC 4949, archiviert vom Original am 2016-06-13, abgerufen 2016-06-13
- ^ Maini, Anil Kumar (2007). Digitale Elektronik: Prinzipien, Geräte und Anwendungen. John Wiley und Söhne. p. 28. ISBN 978-0-470-03214-5.
Darüber hinaus definiert es Codes für 33 nicht druckende, meist veraltete Steuerzeichen, die sich auf die Verarbeitung des Textes auswirken.
- ^ Bukstein, Hrsg (Juli 1964). "Binäre Computercodes und ASCII". Elektronikwelt. 72 (1): 28–29. Archiviert von das Original Am 2016-03-03. Abgerufen 2016-05-22.
- ^ a b c d e f Bemer, Robert William (1980). "Kapitel 1: Innerhalb ASCII" (PDF). Allzweck -Software. Best of Interface Age. Vol. 2. Portland oder, USA: Dilithium Press. S. 1–50. ISBN 978-0-918398-37-6. Lccn 79-67462. Archiviert von das Original am 2016-08-27. Abgerufen 2016-08-27, aus:
- Bemer, Robert William (Mai 1978). "Innerhalb ASCII - Teil I". Schnittstellenalter. 3 (5): 96–102.
- Bemer, Robert William (Juni 1978). "Inside ASCII - Teil II". Schnittstellenalter. 3 (6): 64–74.
- Bemer, Robert William (Juli 1978). "Inside ASCII - Teil III". Schnittstellenalter. 3 (7): 80–87.
- ^ Kurzbericht: Treffen der CCitt -Arbeitspartei auf dem neuen Telegraph Alphabet vom 13. bis 15. Mai 1963.
- ^ Bericht über ISO/TC/97/SC 2 - Treffen vom 29. bis 31. Oktober 1963.
- ^ Bericht über die Aufgabengruppe X3.2.4, 11. Juni 1963, Pentagon Building, Washington, DC.
- ^ Bericht der Sitzung Nr. 8, Task Group X3.2.4, 17. und 18. Dezember 1963
- ^ a b c Winter, Dik T. (2010) [2003]. "USA und internationale Standards: ASCII". Archiviert von das Original Am 2010-01-16.
- ^ a b c d e f g Salste, Tuomas (Januar 2016). "7-Bit-Zeichensätze: Revisionen von ASCII". Aivosto oy. Urne: NBN: FI-FE201201011004. Archiviert vom Original am 2016-06-13. Abgerufen 2016-06-13.
- ^ "Information". Wissenschaftlicher Amerikaner (Sonderausgabe). 215 (3). September 1966. JStor E24931041.
- ^ Korpela, Jukka K. (2014-03-14) [2006-06-07]. Unicode erklärte - Internationalisiere Dokumente, Programme und Websites (2. Veröffentlichung von 1. Aufl.). O'Reilly Media, Inc. p. 118. ISBN 978-0-596-10121-3.
- ^ ANSI Incits 4-1986 (R2007): American National Standard für Informationssysteme-codierte Zeichensätze-7-Bit Amerikanischer Nationalstandard für den Informationsaustausch (7-Bit-ASCII), 2007 [1986]
- ^ "Incits 4-1986 [R2012]: Informationssysteme-codierte Zeichensätze-7-Bit-Nationalstandard für Informationswechsel (7-Bit-ASCII)". 2012-06-15. Archiviert vom Original am 2020-02-28. Abgerufen 2020-02-28.
- ^ "Incits 4-1986 [R2017]: Informationssysteme-codierte Zeichensätze-7-Bit-Nationalstandard für Informationswechsel (7-Bit ASCII)". 2017-11-02 [2017-06-09]. Archiviert vom Original am 2020-02-28. Abgerufen 2020-02-28.
- ^ Bitsequenzierung des American National Standard Code für Informationsaustausch in der Datenübertragung von Serien-zu-Bit, American National Standards Institute (ANSI), 1966, x3.15-1966
- ^ "Bruxy: Radio -Teletyp -Kommunikation". 2005-10-10. Archiviert vom Original am 2016-04-12. Abgerufen 2016-05-09.
Der übertragene Code verwendet internationales Telegraph-Alphabet Nr. 2 (ITA-2), das 1924 von CCITT eingeführt wurde.
- ^ a b Smith, Gil (2001). "Teletyp -Kommunikationscodes" (PDF). Baudot.net. Archiviert (PDF) vom Original am 2008-08-20. Abgerufen 2008-07-11.
- ^ Sawyer, Stanley A.; Krantz, Steven George (1995). Eine Tex -Grundierung für Wissenschaftler. CRC Press. p. 13. Bibcode:1995tps..book ..... s. ISBN 978-0-8493-7159-2. Archiviert vom Original am 2016-12-22. Abgerufen 2016-10-29.
- ^ Savard, John J. G. "Computer -Tastaturen". Archiviert vom Original am 2014-09-24. Abgerufen 2014-08-24.
- ^ "Asciibetische Definition". PC Magazine. Archiviert vom Original am 2013-03-09. Abgerufen 2008-04-14.
- ^ Resnick, P. (April 2001), Internet -Nachrichtenformat, RFC 2822, archiviert vom Original am 2016-06-13, abgerufen 2016-06-13 (NB. NO-WS-CTL.)
- ^ McConnell, Robert; Haynes, James; Warren, Richard. "ASCII -Codes verstehen". Archiviert vom Original am 2014-02-27. Abgerufen 2014-05-11.
- ^ Barry Margolin (2014-05-29). "Re: Editor und Textverarbeitungsgeschichte (war: Re: RTF für EMACs)". Hilfe-gnu-emacs (Mailingliste). Archiviert vom Original am 2014-07-14. Abgerufen 2014-07-11.
- ^ a b "PDP-6-Multiprogrammierungssystemhandbuch" (PDF). Digital Equipment Corporation (Dez). 1965. p. 43. Archiviert (PDF) vom Original am 2014-07-14. Abgerufen 2014-07-10.
- ^ a b "PDP-10-Referenzhandbuch, Buch 3, Kommunikation mit dem Monitor" (PDF). Digital Equipment Corporation (Dez). 1969. p. 5-5. Archiviert (PDF) vom Original am 2011-11-15. Abgerufen 2014-07-10.
- ^ "Hilfe - GNU EMACS -Handbuch". Archiviert vom Original am 2018-07-11. Abgerufen 2018-07-11.
- ^ Tim Paterson (2007-08-08). "Ist dos eine Abzocke von CP/M?". Dosman -Trottel. Archiviert vom Original am 2018-04-20. Abgerufen 2018-04-19.
- ^ Ossanna, J. F.; Salzer, J. H. (17. bis 19. November 1970). "Probleme mit der technischen und menschlichen Ingenieurwesen bei der Verbindung von Terminals mit einem Zeitaufteilungssystem" (PDF). Verfahren des 17. bis 19. November 1970,, Herbst gemeinsame Computerkonferenz (FJCC). p. 357: Afips Drücken Sie. S. 355–362. Archiviert (PDF) vom Original am 08.08.2012-19. Abgerufen 2013-01-29.
Die Verwendung einer "New-Line" -Funktion (kombinierter Wagenrückgang und Leitungsfeed) ist sowohl für den Menschen als auch für die Maschine einfacher als beide Funktionen für den Start einer neuen Linie. Der American National Standard X3.4-1968 ermöglicht es dem Zeilen-Feed-Code, die neuere Bedeutung zu tragen.
{{}}
: CS1 Wartung: Standort (Link) - ^ O'Sullivan, T. (1971-05-19), Telnet -Protokoll, Internettechnik-Arbeitsgruppe (IETF), S. 4–5, RFC 158, archiviert vom Original am 2016-06-13, abgerufen 2013-01-28
- ^ Neigus, Nancy J. (1973-08-12), Dateitransferprotokoll, Internettechnik-Arbeitsgruppe (IETF), RFC 542, archiviert vom Original am 2016-06-13, abgerufen 2013-01-28
- ^ Postel, Jon (Juni 1980), Dateitransferprotokoll, Internettechnik-Arbeitsgruppe (IETF), RFC 765, archiviert vom Original am 2016-06-13, abgerufen 2013-01-28
- ^ "EOL -Übersetzungsplan für Quecksilber". Quecksilber. Archiviert vom Original am 2016-06-16. Abgerufen 2017-06-24.
- ^ Bernstein, Daniel J. "Bare LFS in SMTP". Archiviert vom Original am 2011-10-29. Abgerufen 2013-01-28.
- ^ CP/M 1.4 -Schnittstellenhandbuch (PDF). Digitale Forschung. 1978. p. 10. Archiviert (PDF) vom Original am 2019-05-29. Abgerufen 2017-10-07.
- ^ Cerf, Vinton Grey (1969-10-16), ASCII -Format für den Netzwerkstausch, Netzwerkarbeitsgruppe, RFC 20, archiviert vom Original am 2016-06-13, abgerufen 2016-06-13 (NB. Fast identischer Wortlaut zu USAS X3.4-1968 außer dem Intro.)
- ^ Haynes, Jim (2015-01-13). "Aus erster Hand: Chad ist unser wichtigstes Produkt: Der Speicher eines Ingenieurs an Teletype Corporation". Ingenieur- und Technologiegeschichte Wiki (ETHW). Archiviert vom Original am 2016-10-31. Abgerufen 2016-10-31.
Es gab die Veränderung von 1961 ASCII bis 1968 ASCII. Einige Computersprachen verwendeten Zeichen von 1961 ASCII wie UP -Pfeil und Pfeil. Diese Charaktere verschwanden aus dem Jahr 1968 ASCII. Wir haben mit Fred Mocking zusammengearbeitet, der inzwischen im Verkauf bei war TeletypAuf einem Typzylinder, der die sich ändernden Zeichen beeinträchtigen würde, so dass die Bedeutungen von 1961 ASCII nicht vollständig verloren gingen. Der Unterstrich wurde eher keilförmig gemacht, damit er auch als linker Pfeil dienen konnte.
- ^ Bemer, Robert William. "Bemer trifft Europa (Computerstandards) - Computergeschichte Vignetten". Trailing-eded.com. Archiviert von das Original Am 2013-10-17. Abgerufen 2008-04-14. (Nb. Bemer war bei beschäftigt bei IBM zu dieser Zeit.)
- ^ "Robert William Bemer: Biographie". 2013-03-09. Archiviert vom Original am 2016-06-16.
- ^ Johnson, Lyndon Baines (1968-03-11). "Memorandum zur Genehmigung der Annahme der Bundesregierung eines Standardkodex für Informationsaustausch". Das amerikanische Präsidentschaftsprojekt. Archiviert vom Original am 2007-09-14. Abgerufen 2008-04-14.
- ^ Richard S. Shuford (1996-12-20). "Re: Frühgeschichte von ASCII?". Newsgroup:Alt.folklore.computer. Usenet: [email protected].
- ^ Fols, Harold C.; Karp, Harry, Hrsg. (1982-02-01). Zusammenstellung von Datenkommunikationsstandards (2. überarbeitete Ausgabe). McGraw-Hill Inc. ISBN 978-0-07-021457-6.
- ^ Dubost, Karl (2008-05-06). "UTF-8-Wachstum im Web". W3C -Blog. World Wide Web Konsortium. Archiviert vom Original am 2016-06-16. Abgerufen 2010-08-15.
- ^ a b Davis, Mark (2008-05-05). "Wechsel zu Unicode 5.1". Offizieller Google -Blog. Archiviert vom Original am 2016-06-16. Abgerufen 2010-08-15.
- ^ Davis, Mark (2010-01-28). "Unicode nahe 50% des Web". Offizieller Google -Blog. Archiviert vom Original am 2016-06-16. Abgerufen 2010-08-15.
- ^ "Spezifische Kriterien", Anhaftung an das Memo von R. W. Reach, "X3-2 Treffen-14. und 15. September", 18. September 1961
- ^ Maréchal, R. (1967-12-22), ISO/TC 97 - Computer- und Informationsverarbeitung: Akzeptanz des Entwurfs ISO -Empfehlung Nr. 1052
- ^ Das Unicode Consortium (2006-10-27). "Kapitel 13: Spezielle Bereiche und Formatfiguren" (PDF). In Allen, Julie D. (Hrsg.). Der Unicode Standard, Version 5.0. Upper Saddle River, New Jersey, USA: Addison-Wesley Professional. p. 314. ISBN 978-0-321-48091-0. Abgerufen 2015-03-13.
- ^ "UTF-8 (7)-Linux Manual Page". Man7.org. 2014-02-26. Archiviert vom Original am 2014-04-22. Abgerufen 2014-04-21.
Weitere Lektüre
- Bemer, Robert William (1960). "Ein Vorschlag für die Kompatibilität des Zeichencode". Kommunikation der ACM. 3 (2): 71–72. doi:10.1145/366959.366961. S2CID 9591147.
- Bemer, Robert William (2003-05-23). "Der Babel der Codes vor ASCII: Die Umfrage von Coded Character Sets von 1960: Die Gründe für ASCII". Archiviert von das Original Am 2013-10-17. Abgerufen 2016-05-09, aus:
- Bemer, Robert William (Dezember 1960). "Übersicht über die codierte Zeichenrepräsentation". Kommunikation der ACM. 3 (12): 639–641. doi:10.1145/367487.367493. S2CID 21403172.
- Smith, H. J.; Williams, F. A. (Dezember 1960). "Übersicht über geschlagene Kartencodes". Kommunikation der ACM. 3 (12): 642. doi:10.1145/367487.367491.
- "American National Standard Code für Informationsaustausch | ANSI X3.64-1977" (PDF). Nationales Institut für Standards. 1977. (Faksimile, nicht maschinenlesbar)
- Robinson, G. S.; Cargill, C. (1996). "Geschichte und Auswirkungen von Computerstandards". Computer. 29 (10): 79–85. doi:10.1109/2.539725.
- Mullendore, Ralph Elvin (1964) [1963]. Ptak, John F. (Hrsg.). "Über die frühe Entwicklung von ASCII - die Geschichte von ASCII". JF Ptak Science Books (veröffentlicht März 2012). Archiviert vom Original am 2016-05-26. Abgerufen 2016-05-26.
Externe Links
- "C0 -Steuerelemente und Basic Latein - Reichweite: 0000–007f" (PDF). Der Unicode Standard 8.0. Unicode, Inc. 2015 [1991]. Archiviert (PDF) vom Original am 2016-05-26. Abgerufen 2016-05-26.
- Fischer, Eric. "Die Entwicklung von Charaktercodes, 1874–1968". Citeseerx 10.1.1.96.678.
{{}}
: Journal zitieren erfordert|journal=
(Hilfe) [1]