ASCII ( / ˈ æ s k i /ASCII American Standard Code for Information Interchange)ist einZeichensatzstandardzur Darstellung von 95 ( auf die englische Sprachefokussierten)druckbaren Zeichenund33Steuerzeichen– insgesamt 128Codepunkten . Die verfügbaren Satzzeichen hatten einen bedeutenden Einfluss auf die Syntax von Programmiersprachen und Textauszeichnungen. ASCII prägte maßgeblich die Gestaltung der von modernen Computern verwendeten Zeichensätze; beispielsweiseentsprechen Unicode
ASCII kodiert jeden Codepunkt als Wert von 0 bis 127 – speicherbar als 7- Bit- Ganzzahl . [ 4 ] 95 Codepunkte sind druckbar, darunter die Ziffern 0 bis 9 , die Kleinbuchstaben a bis z , die Großbuchstaben A bis Z und die gebräuchlichen Satzzeichen . Beispielsweise iwird der Buchstabe θ als 105 ( dezimal ) dargestellt. ASCII definiert außerdem 33 nicht druckbare Steuerzeichen , die ursprünglich von Fernschreibern stammen und heute größtenteils veraltet sind. [ 5 ] Zu den noch gebräuchlichen Steuerzeichen gehören Wagenrücklauf , Zeilenvorschub und Tabulator .
ASCII fehlen Codepunkte für Zeichen mit diakritischen Zeichen und unterstützt daher Begriffe oder Namen wie „résumé“ , „jalapeño“ oder „René“ nicht direkt . Je nach Hardware- und Softwareunterstützung lassen sich einige diakritische Zeichen jedoch darstellen , indem man einen Buchstaben mit einem Backtick (`) oder einer Tilde (~) überschreibt .
Die Internet Assigned Numbers Authority (IANA) bevorzugt die Bezeichnung US-ASCII für diese Zeichenkodierung. [ 2 ]
ASCII ist einer der Meilensteine des IEEE . [ 6 ]
Geschichte
ASCII ist die Standardisierung eines sieben Bit langen Fernschreibercodes , der teilweise aus früheren Telegrafencodes entwickelt wurde .
Die Arbeiten am ASCII-Standard begannen im Mai 1961, als der IBM -Ingenieur Bob Bemer dem Unterausschuss X3.2 der American Standards Association (ASA) (heute American National Standards Institute oder ANSI) einen Vorschlag unterbreitete. [ 7 ] Die erste Ausgabe des Standards erschien 1963 [ 8 ] zeitgleich mit der Einführung des Teletype Model 33. 1967 wurde er grundlegend überarbeitet [ 9 ] [ 10 ] und bis 1986 mehrfach aktualisiert. [ 11 ] Im Gegensatz zu früheren Telegrafencodes wie Baudot war ASCII so geordnet, dass die Sortierung (insbesondere alphabetisch) einfacher war, und bot zusätzliche Steuerelemente für andere Geräte als Fernschreiber. [ 11 ]

ASCII wurde unter der Schirmherrschaft eines Komitees der American Standards Association (ASA), dem sogenannten X3-Komitee, von dessen Unterkomitee X3.2 (später X3L2) und später von dessen Arbeitsgruppe X3.2.4 (heute INCITS ) entwickelt. Die ASA wurde später zum United States of America Standards Institute (USASI) [ 3 ] : 211 und schließlich zum American National Standards Institute (ANSI).
Nachdem die übrigen Sonderzeichen und Steuerzeichen hinzugefügt worden waren, wurde ASCII als ASA X3.4-1963 veröffentlicht. [ 8 ] [ 12 ] Dabei blieben 28 Codepositionen ohne zugewiesene Bedeutung, reserviert für zukünftige Standardisierungen, und ein Steuerzeichen war nicht zugewiesen. [ 3 ] : 66, 245 Damals gab es Diskussionen darüber, ob mehr Steuerzeichen anstelle des Kleinbuchstabenalphabets verwendet werden sollten. [ 3 ] : 435 Die Unentschlossenheit hielt nicht lange an: Im Mai 1963 schlug die CCITT-Arbeitsgruppe für das neue Telegrafenalphabet vor, den Tasten a 6 und 7 Kleinbuchstaben zuzuweisen. [ 13 ] [ 14 ] Die Internationale Organisation für Normung (ISO) TC 97 SC 2 stimmte im Oktober für die Aufnahme dieser Änderung in ihren Normenentwurf. [ 15 ] Die Arbeitsgruppe X3.2.4 stimmte der Umstellung auf ASCII auf ihrer Sitzung im Mai 1963 zu. [ 16 ] Die Platzierung der Kleinbuchstaben in den Strichen [ a ] [ 13 ] 6 und 7 führte dazu, dass sich die Zeichen im Bitmuster von den Großbuchstaben um ein einziges Bit unterschieden, was die Groß-/Kleinschreibung-unabhängige Zeichenübereinstimmung und die Konstruktion von Tastaturen und Druckern vereinfachte.
Das X3-Komitee nahm weitere Änderungen vor. Es fügte die Zeichen für geschweifte Klammern und senkrechte Striche hinzu . [ 17 ] Einige Steuerzeichen wurden umbenannt – SOM wurde zu SOH . Andere wurden verschoben oder entfernt – RU wurde entfernt. [ 3 ] : Der ASCII-Standard 247–248 wurde anschließend als USAS X3.4-1967, [ 9 ] [ 18 ] dann als USAS X3.4-1968, [ 19 ] dann als ANSI X3.4-1977 und schließlich als ANSI X3.4-1986 aktualisiert . [ 11 ] [ 20 ]
Die Verwendung des ASCII-Formats für den Netzwerkaustausch wurde 1969 beschrieben. [ 21 ] Dieses Dokument wurde 2015 formell zum Internetstandard erhoben. [ 22 ]
Überarbeitungen
- ASA X3.4-1963 [ 3 ] [ 8 ] [ 18 ] [ 20 ]
- ASA X3.4-1965 (genehmigt, aber nicht veröffentlicht, dennoch verwendet von IBM 2260 & 2265 Display Stations und IBM 2848 Display Control) [ 3 ] : 423, 425–428, 435–439 [ 23 ] [ 18 ] [ 20 ]
- USAS X3.4-1967 [ 3 ] [ 9 ] [ 20 ]
- USAS X3.4-1968 [ 3 ] [ 19 ] [ 20 ]
- ANSI X3.4-1977 [ 20 ]
- ANSI X3.4-1986 [ 11 ] [ 20 ]
- ANSI X3.4-1986 (R1992)
- ANSI X3.4-1986 (R1997)
- ANSI INCITS 4-1986 (R2002) [ 24 ]
- ANSI INCITS 4-1986 (R2007) [ 25 ]
- INCITS 4-1986 (R2012) [ 26 ]
- INCITS 4-1986 (R2017) [ 27 ]
- INCITS 4-1986 (R2022) [ 28 ]
Im Standard X3.15 befasste sich das X3-Komitee auch mit der Übertragung von ASCII ( niedrigstwertiges Bit zuerst) [ 3 ] : 249–253 [ 29 ] und der Aufzeichnung auf Lochstreifen. Sie schlugen einen 9-Spur- Standard für Magnetbänder vor und versuchten, einige Lochkartenformate zu berücksichtigen .
Designüberlegungen
Bitbreite
Das Unterkomitee X3.2 entwickelte ASCII auf Grundlage der früheren Fernschreiber-Codierungssysteme. Wie andere Zeichenkodierungen legt auch ASCII eine Entsprechung zwischen digitalen Bitmustern und Zeichensymbolen (d. h. Graphemen und Steuerzeichen ) fest. Dies ermöglicht es digitalen Geräten, miteinander zu kommunizieren und zeichenorientierte Informationen wie Schriftsprache zu verarbeiten, zu speichern und zu übertragen. Vor der Entwicklung von ASCII umfassten die verwendeten Kodierungen 26 alphabetische Zeichen, 10 numerische Ziffern und 11 bis 25 spezielle grafische Symbole. Um all diese Zeichen sowie Steuerzeichen gemäß dem Standard des Internationalen Telegrafenalphabets Nr. 2 (ITA2) des Comité Consultatif International Téléphonique et Télégraphique (CCITT) von 1932 [ 30 ] [ 31 ] , FIELDATA (1956) und dem frühen EBCDIC (1963) abzudecken, waren für ASCII mehr als 64 Codes erforderlich.
ITA2 basierte seinerseits auf dem Baudot-Code , dem 5-Bit-Telegrafencode, den Émile Baudot 1870 erfand und 1874 patentieren ließ. [ 31 ]
Das Komitee erörterte die Möglichkeit einer Schiebefunktion (wie in ITA2 ), die es ermöglichen würde, mehr als 64 Codes durch einen Sechs-Bit-Code darzustellen . In einem verschobenen Code bestimmen einige Zeichencodes die Auswahlmöglichkeiten für die nachfolgenden Zeichencodes. Dies ermöglicht eine kompakte Kodierung, ist aber für die Datenübertragung weniger zuverlässig , da ein Fehler bei der Übertragung des Schiebecodes typischerweise einen großen Teil der Übertragung unlesbar macht. Das Normungskomitee entschied sich gegen die Schiebefunktion, weshalb ASCII mindestens einen Sieben-Bit-Code vorschreibt. [ 3 ] : 215 §13.6, 236 §4
Das Komitee erwog einen Acht-Bit-Code, da acht Bits ( Oktette ) es ermöglichen würden, zwei Ziffern mit BCD ( binary-coded decimal) effizient durch zwei Vier-Bit-Muster zu kodieren . Dies hätte jedoch zur Folge, dass für jede Datenübertragung acht Bits gesendet werden müssten, obwohl sieben ausreichen würden. Das Komitee entschied sich daher für einen Sieben-Bit-Code, um die Kosten der Datenübertragung zu minimieren. Da Lochstreifen zu dieser Zeit acht Bits an einer Position speichern konnten, boten sie zudem die Möglichkeit, bei Bedarf ein Paritätsbit zur Fehlerprüfung zu verwenden . [ 3 ] : 217 §c, 236 §5 Acht-Bit- Maschinen (mit Oktetten als nativem Datentyp), die keine Paritätsprüfung verwendeten, setzten das achte Bit typischerweise auf 0. [ 32 ]
Interne Organisation
Der Code selbst war so strukturiert, dass die meisten Steuerzeichen und alle Grafikzeichen zur besseren Übersichtlichkeit zusammen lagen. Die ersten beiden sogenannten ASCII-Zeichenblöcke [ a ] [ 13 ] (32 Positionen) waren für Steuerzeichen reserviert. [ 3 ] : 220, 236 8, 9) Das Leerzeichen musste vor den Grafiken stehen, um die Sortierung zu vereinfachen, und wurde daher an Position 20 (hexadezimal) platziert . [ 3 ] : 237 §10 Aus demselben Grund wurden viele Sonderzeichen, die üblicherweise als Trennzeichen verwendet wurden, vor die Ziffern gesetzt. Das Komitee entschied, dass die Unterstützung von 64-stelligen Großbuchstabenalphabeten wichtig sei , und wählte eine Struktur für ASCII, die es ermöglichte, den Code leicht auf einen nutzbaren 64-stelligen Satz von Grafikzeichen zu reduzieren, [ 3 ] : 228, 237 §14 wie im DEC SIXBIT- Code (1963) geschehen . Kleinbuchstaben wurden daher nicht mit Großbuchstaben vermischt . Um die Möglichkeit zur Darstellung von Kleinbuchstaben und anderen Grafiken zu erhalten, wurden die Sonder- und Zahlencodes vor den Buchstaben angeordnet, und der Buchstabe A wurde an Position 41 im Hexadezimalsystem platziert, um dem Entwurf der entsprechenden britischen Norm zu entsprechen. [ 3 ] : 238 §18 Die Ziffern 0–9 sind mit 011 gekennzeichnet, die verbleibenden 4 Bits entsprechen jedoch ihren jeweiligen Binärwerten, wodurch die Konvertierung mit binärkodierten Dezimalzahlen unkompliziert ist (beispielsweise wird 5 als 011 0101 kodiert , wobei 5 binär 0101 entspricht).
Viele der nicht-alphanumerischen Zeichen wurden so positioniert, dass sie ihrer verschobenen Position auf Schreibmaschinen entsprachen; eine wichtige Besonderheit ist, dass diese auf mechanischen , nicht auf elektrischen Schreibmaschinen basierten. [ 33 ] Mechanische Schreibmaschinen folgten dem De-facto- Standard der Remington Nr. 2 (1878), der ersten Schreibmaschine mit Umschalttaste. Die verschobenen Werte 23456789-waren "#$%_&'() – frühe Schreibmaschinen ließen 0 und 1 aus und verwendeten stattdessen O (Großbuchstabe o ) und l (Kleinbuchstabe l ), aber 0- und 1 1!- 0)Paare wurden Standard, sobald 0 und 1 üblich wurden. So !"#$%wurden sie in ASCII auf der zweiten Stange platziert, [ a ] [ 13 ] Positionen 1–5, entsprechend den Ziffern 1–5 auf der benachbarten Stange. [ a ] [ 13 ] Die Klammern konnten jedoch nicht 9 und 0 entsprechen , da die Stelle, die 0 entsprach , vom Leerzeichen belegt war. Dies wurde dadurch erreicht, dass der Unterstrich (<i> 6</i>_ ) entfernt und die verbleibenden Zeichen verschoben wurden, was vielen europäischen Schreibmaschinen entsprach, die die Klammern bei der 8 und 9 platzierten . Diese Abweichung von Schreibmaschinen führte zu bitpaarigen Tastaturen , insbesondere zum Teletype Modell 33 , das im Gegensatz zu traditionellen mechanischen Schreibmaschinen das nach links verschobene Layout entsprechend ASCII verwendete.
Elektrische Schreibmaschinen, insbesondere die IBM Selectric (1961), verwendeten ein etwas anderes Layout, das sich – insbesondere nach dem IBM PC (1981), vor allem dem Modell M (1984) – de facto zum Standard auf Computern entwickelt hat . Daher entsprechen die Verschiebewerte für Symbole auf modernen Tastaturen nicht mehr so genau der ASCII-Tabelle wie bei früheren Tastaturen. Das Tastenpaar stammt ebenfalls aus der Zeit des IBM PC Nr. 2 und wurde auf einigen Tastaturen verwendet (andere, darunter auch der Nr. 2, verschoben Komma und Punkt nicht, sodass sie ohne Verschiebung in Großbuchstaben verwendet werden konnten). ASCII trennte das Tastenpaar jedoch (ebenfalls aus der Zeit des IBM PC Nr. 2) und ordnete mathematische Symbole (nach verschiedenen Konventionen, üblicherweise ) neu an . /?,< .>,.;:-* =+:* ;+ -=
Einige damals gebräuchliche Schreibmaschinenzeichen wurden nicht aufgenommen, insbesondere ½ ¼ ¢, während ^ ` ~ als diakritische Zeichen für den internationalen Gebrauch und < >für mathematische Zwecke zusammen mit den einfachen Linienzeichen \ |(zusätzlich zu den üblichen /) enthalten waren. Das @ -Symbol wurde in Kontinentaleuropa nicht verwendet, und das Komitee ging davon aus, dass es in der französischen Variante durch ein akzentuiertes À ersetzt würde. Daher wurde das @-Symbol an Position 40 hexadezimal , direkt vor dem Buchstaben A, platziert . [ 3 ] : 243
Als wesentlich für die Datenübertragung erachtete Steuercodes galten: Nachrichtenbeginn (SOM), Adressende (EOA), Nachrichtenende (EOM), Übertragungsende (EOT), „Wer bist du?“ (WRU), „Bist du?“ (RU), eine reservierte Gerätesteuerung (DC0), synchroner Leerlauf (SYNC) und Bestätigung (ACK). Diese wurden so positioniert, dass der Hamming-Abstand zwischen ihren Bitmustern maximiert wurde. [ 3 ] : 243–245
Reihenfolge der Charaktere
Die ASCII-Code-Reihenfolge wird auch als alphabetische ASCII- Reihenfolge bezeichnet. [ 34 ] Die Datensortierung erfolgt mitunter in dieser Reihenfolge anstatt in der „standardmäßigen“ alphabetischen Reihenfolge ( Sortierungssequenz ). Die wichtigsten Abweichungen von der ASCII-Reihenfolge sind:
- Alle Großbuchstaben stehen vor den Kleinbuchstaben; zum Beispiel steht „Z“ vor „a“.
- Ziffern und viele Satzzeichen stehen vor Buchstaben.
Ein Zwischenschritt wandelt Großbuchstaben in Kleinbuchstaben um, bevor die ASCII-Werte verglichen werden.
Zeichensatz

| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | 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 | DÜRFEN | EM | SUB | ESC | FS | GS | RS | UNS |
| 2x | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | Die | / |
| 3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 4x | @ | A | B | C | D | E | F | G | H | ICH | 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 | ich | J | k | l | M | N | O |
| 7x | P | Q | R | S | T | u | v | w | X | y | z | { | | | } | ~ | DEL |
Geändert oder hinzugefügt in der Version von 1963 Sowohl in der Fassung von 1963 als auch im Entwurf von 1965 wurde dies geändert. | ||||||||||||||||
Charaktergruppen
Steuerzeichen

ASCII reserviert die ersten 32 Codepunkte (Zahlen 0–31 dezimal) und den letzten (Zahl 127 dezimal) für Steuerzeichen . Diese Codes dienen der Ansteuerung von Peripheriegeräten (z. B. Druckern ) oder der Bereitstellung von Metainformationen über Datenströme, beispielsweise auf Magnetbändern. Trotz ihres Namens stellen diese Codepunkte keine druckbaren Zeichen dar (sie sind also keine Zeichen, sondern Signale). Zu Debugging-Zwecken werden ihnen Platzhaltersymbole (wie in ISO 2047 und seinen Vorgängern) zugewiesen.
Beispielsweise steht das Zeichen 0x0A für den Zeilenvorschub (der den Papiertransport im Drucker auslöst), und das Zeichen 8 für die Rücktaste . RFC 2822 bezeichnet Steuerzeichen, die weder Wagenrücklauf noch Zeilenvorschub oder Leerzeichen enthalten , als Nicht-Leerzeichen-Steuerzeichen. [ 35 ] Abgesehen von den Steuerzeichen, die die elementare zeilenorientierte Formatierung vorschreiben, definiert ASCII keinen Mechanismus zur Beschreibung der Struktur oder des Erscheinungsbilds von Text innerhalb eines Dokuments. Andere Systeme, wie z. B. Auszeichnungssprachen , dienen der Adressierung von Seiten- und Dokumentlayout und -formatierung.
Der ursprüngliche ASCII-Standard verwendete lediglich kurze beschreibende Phrasen für jedes Steuerzeichen. Die dadurch entstandene Mehrdeutigkeit war teilweise beabsichtigt, beispielsweise wenn ein Zeichen in einer Terminalverbindung oder in einem Datenstrom etwas anders verwendet werden sollte .
Das wohl einflussreichste Gerät, das die Interpretation dieser Zeichen beeinflusste, war der Teletype Model 33 ASR, ein Druckterminal mit optionalem Lochstreifenleser und -stanzer. Lochstreifen waren bis in die 1980er-Jahre ein weit verbreitetes Medium zur langfristigen Programmspeicherung, da sie kostengünstiger und in mancher Hinsicht weniger empfindlich als Magnetbänder waren. Insbesondere die Belegung der Codes 17 (Strg-Q, DC1, auch bekannt als XON), 19 (Strg-S, DC3, auch bekannt als XOFF) und 127 ( Löschen ) durch den Teletype Model 33 etablierte sich als Standard. Der Model 33 war außerdem dafür bekannt, die Beschreibung von Strg-G (Code 7, BEL, akustisches Signal für den Bediener) wörtlich zu nehmen: Das Gerät enthielt eine Glocke, die beim Empfang des Zeichens BEL ertönte. Da auf der Oberseite der O-Taste auch ein Pfeil-nach-links-Symbol (aus ASCII-1963, das dieses Zeichen anstelle des Unterstrichs hatte ) abgebildet war, wurde auch eine nicht konforme Verwendung des Codes 15 (Strg+O, Umschalttaste rein), der als „vorheriges Zeichen löschen“ interpretiert wurde, von vielen frühen Timesharing-Systemen übernommen, geriet aber schließlich in Vergessenheit.
Wenn ein mit einem automatischen Lochstreifenleser ausgestatteter Teletype 33 ASR ein Control-S (XOFF, Abkürzung für „Senden aus“) empfing, stoppte dies den Lochstreifenleser; der Empfang eines Control-Q (XON, „Senden an“) setzte die Ausgabe fort. Diese sogenannte Flusssteuerungstechnik wurde von einigen frühen Computerbetriebssystemen als „Handshake“-Signal übernommen, das den Sender vor einem drohenden Pufferüberlauf warnte und die Übertragung stoppen sollte . Sie wird bis heute in vielen Systemen als manuelle Ausgabesteuerungstechnik verwendet. In manchen Systemen behält Control-S seine Bedeutung, Control-Q wird jedoch durch ein zweites Control-S ersetzt, um die Ausgabe fortzusetzen.
Der 33 ASR konnte auch so konfiguriert werden, dass er mit Strg+R (DC2) und Strg+T (DC4) den Lochstreifenstanzer startete und stoppte; bei einigen Geräten mit dieser Funktion lautete die entsprechende Beschriftung der Steuerzeichen auf der Tastenkappe über dem Buchstaben jeweils TAPE und TAPE . [ 36 ]
Entf vs. Rücktaste
Da der Fernschreiber seinen Schreibkopf nicht rückwärts bewegen konnte, besaß er keine Taste für die Rücktaste (BS). Stattdessen gab es eine Taste mit RUB OUTder Bezeichnung 127 (DEL). Diese Taste diente dazu, Fehler auf einem manuell befüllten Lochstreifen zu löschen: Der Bediener musste einen Knopf am Locher drücken, um den Lochstreifen zurückzuspulen, und anschließend die Korrektur eingeben. Dadurch wurden alle Löcher gestanzt und der Fehler durch ein zu ignorierendes Zeichen ersetzt. [ 37 ] Fernschreiber wurden häufig mit den preisgünstigeren Computern der Digital Equipment Corporation (DEC) verwendet. Da diese Systeme mit den verfügbaren Tasten auskommen mussten, wurde das DEL-Zeichen zum Löschen des vorherigen Zeichens verwendet. [ 38 ] [ 39 ] Aus diesem Grund sendeten DEC-Videoterminals (standardmäßig) das DEL-Zeichen für die mit „Backspace“ beschriftete Taste, während die separate Taste „Delete“ eine Escape-Sequenz sendete . Viele andere Terminals verwendeten hingegen das BS-Zeichen für die Rücktaste.
Die frühen Unix-TTY-Treiber erlaubten im Gegensatz zu einigen modernen Implementierungen nur die Einstellung eines einzigen Zeichens zum Löschen des vorherigen Zeichens bei der kanonischen Eingabeverarbeitung (wo ein sehr einfacher Zeileneditor verfügbar ist). Dies konnte auf BS oder DEL eingestellt werden, aber nicht auf beides. Dies führte zu wiederkehrenden Mehrdeutigkeiten, da Benutzer je nach verwendetem Terminal entscheiden mussten ( Shells , die Zeilenbearbeitung erlauben, wie ksh , bash und zsh , verstehen beides). Die Annahme, dass keine Taste ein BS-Zeichen sendet, ermöglichte die Verwendung von Strg+H für andere Zwecke, wie beispielsweise den Präfixbefehl „help“ in GNU Emacs . [ 40 ]
Flucht
Viele Steuerzeichen haben heute Bedeutungen, die sich deutlich von ihren ursprünglichen unterscheiden. Das Escape-Zeichen (ESC, Code 27) beispielsweise sollte ursprünglich ermöglichen, andere Steuerzeichen als Literale anstatt ihrer eigentlichen Bedeutung zu senden – eine sogenannte Escape-Sequenz. Diese Bedeutung von „Escape“ findet sich auch in URL-Kodierungen, C- Zeichenketten und anderen Systemen, in denen bestimmte Zeichen eine reservierte Bedeutung haben. Im Laufe der Zeit wurde diese Interpretation übernommen und schließlich geändert.
In der modernen Verwendung signalisiert ein an das Terminal gesendetes ESC üblicherweise den Beginn einer Befehlssequenz. Diese kann genutzt werden, um den Cursor zu positionieren, einen Bereich zu scrollen, verschiedene Terminaleigenschaften festzulegen oder abzufragen und vieles mehr. Sie haben in der Regel die Form eines sogenannten ANSI-Escape-Codes (oft beginnend mit einem „ Control Sequence Introducer “, „CSI“, „ ESC [ “) aus ECMA-48 (1972) und seinen Nachfolgern. Einige Escape-Sequenzen haben keinen solchen Introducer, wie beispielsweise der Befehl „Reset to Initial State“, „RIS“, „ ESC c “. [ 41 ]
Im Gegensatz dazu wird ein vom Terminal gelesenes ESC-Zeichen meist als externes Zeichen verwendet, um einen Vorgang oder einen speziellen Modus zu beenden, wie beispielsweise in den Texteditoren TECO und vi . In grafischen Benutzeroberflächen (GUIs) und Fenstersystemen bewirkt ESC im Allgemeinen, dass eine Anwendung ihren aktuellen Vorgang abbricht oder vollständig beendet wird .
Zeilenende
Die Neubelegung bestimmter Steuerzeichen führte zu Problemen beim Übertragen von Klartextdateien zwischen Systemen. Das beste Beispiel hierfür ist das Zeilenumbruchproblem in verschiedenen Betriebssystemen . Fernschreiber erforderten, dass eine Textzeile mit einem Wagenrücklauf (um den Druckkopf an den Zeilenanfang zu bewegen) und anschließend einem Zeilenvorschub (um das Papier um eine Zeile weiterzuschieben) abgeschlossen wurde. Der Name „Wagenrücklauf“ rührt daher, dass sich bei einer mechanischen Schreibmaschine der Wagen mit dem Papier bewegt, während die Typenhebel, die auf das Farbband schlagen, stillstehen. Der gesamte Wagen muss nach rechts geschoben („zurückgeschoben“) werden, um das Papier für die nächste Zeile zu positionieren.
Die Betriebssysteme von DEC ( OS/8 , RT-11 , RSX-11 , RSTS , TOPS-10 usw.) speicherten beide Zeichen am Ende jeder Zeile in Textdateien, wie es für Fernschreiber erforderlich war. Als die sogenannten „Glas-TTYs“ (später CRTs oder „dumme Terminals“ genannt) eingeführt wurden, folgten sie derselben Logik und erwarteten die gleichen CR- und LF-Zeichen. Gary Kildall ließ sich bei der Entwicklung von CP/M von einigen Konventionen der Kommandozeilenschnittstelle des DEC-Betriebssystems RT-11 inspirieren.
Bis zur Einführung von IBM PC DOS im Jahr 1981 hatte IBM hier keinen Einfluss, da ihre Betriebssysteme der 1970er-Jahre EBCDIC-Kodierung anstelle von ASCII verwendeten und auf Lochkarteneingabe und Zeilendruckerausgabe ausgerichtet waren, bei denen das Konzept des Wagenrücklaufs (CRLF) keine Bedeutung hatte. IBMs PC DOS (von Microsoft auch als MS-DOS vermarktet ) übernahm die CRLF-Konvention, da es lose auf CP/M basierte [ 42 ] , und Windows wiederum übernahm sie von MS-DOS.
Die Verwendung von CR und LF am Ende jeder Zeile in einem einfachen Textdokument oder Datenstrom entsprach den Anforderungen von Terminals und Druckern zur Anzeige dieser Daten. Multics führte eine Neuerung ein: Es verwendete nur ein Zeichen (LF) für das Zeilenende in gespeicherten Dateien und Datenströmen. [ 43 ] : 357 Bei der Ausgabe wandelt der TTY-Treiber das LF in CRLF um, sodass Dateien ohne explizite Dateiformatkonvertierung auf einem Terminal ausgegeben werden können. Unix- und Unix-ähnliche Systeme sowie Amiga- Systeme übernahmen dieses Design von Multics . In UNIX- Dokumenten wird der Zeilenumbruch mit „newline“ oder „NL“ bezeichnet. Im Gegensatz dazu verwendeten Radio Shack TRS-80 , Apple DOS , Apple ProDOS und das klassische Mac OS einen einzelnen Wagenrücklauf (CR) zum Zeilenende. Apples späteres Betriebssystem Mac OS X (heute macOS ) basiert auf Unix und verwendet daher den Zeilenvorschub (LF).
Zu den an das ARPANET angeschlossenen Computern gehörten Maschinen mit Betriebssystemen wie TOPS-10 und TENEX , die CR-LF-Zeilenumbrüche verwendeten; Betriebssystemen wie Multics mit LF-Zeilenumbrüchen; und Betriebssystemen wie OS/360 , die Zeilen als Zeichenanzahl gefolgt von den Zeilenzeichen darstellten und EBCDIC anstelle der ASCII-Kodierung verwendeten. Um die Kommunikation zwischen all diesen Systemen zu ermöglichen, definierte das Telnet -Protokoll ein „Network Virtual Terminal“ (NVT), in dem ein einheitliches Textformat (ASCII mit CR-LF-Zeilenumbrüchen) für die Übertragung verwendet wurde und jedes System in seine eigene native Darstellung konvertierte bzw. von dieser konvertierte. [ 44 ]
Das File Transfer Protocol ( FTP) übernahm das Telnet-Protokoll, einschließlich des Network Virtual Terminal (NVT), zur Übermittlung von Befehlen und zum Transfer von Textdateien (bekannt als „ASCII-Modus“). [ 45 ] [ 46 ] Internet-E-Mail basiert auf dem NVT. [ 47 ] Das HTTP des World Wide Web verwendet ein modifiziertes NVT: Der Standard erlaubt einzelne CR- und LF-Zeichen, schreibt aber vor, dass jedes als NVT CRLF interpretiert werden muss. [ 48 ]
Komplexität entstand in netzwerkseitigen Systemen, die dem NVT-Mechanismus nicht folgten, wie beispielsweise einige Versionskontrollsysteme. [ 49 ] Fehler können die native Implementierung eines Systems für andere Systeme im Internet offenlegen und so Datenbeschädigung verursachen. [ 50 ]
Dateiende/Streamende
Der PDP-6-Monitor [ 38 ] und sein Nachfolger TOPS-10 [ 39 ] , der PDP-10 , verwendeten Strg+Z (SUB) als Dateiende-Zeichen für Terminaleingaben. Einige Betriebssysteme wie CP/M erfassten die Dateilänge nur in Einheiten von Festplattenblöcken und nutzten Strg+Z, um das Ende des eigentlichen Textes in der Datei zu markieren. [ 51 ] Aus diesen Gründen wurde EOF ( Ende der Datei ) umgangssprachlich und konventionell als dreibuchstabiges Akronym für Strg+Z anstelle von SUBstitute verwendet . Das Textendezeichen ( ETX ), auch bekannt als Strg+C , war aus verschiedenen Gründen ungeeignet, während die Verwendung von Strg+Z als Steuerzeichen zum Beenden einer Datei analog zur Position des Buchstabens Z am Ende des Alphabets ist und als sehr praktische Eselsbrücke dient . Eine historisch gängige und immer noch weit verbreitete Konvention verwendet die ETX-Zeichenkonvention, um ein Programm über einen Eingabedatenstrom, üblicherweise von der Tastatur, zu unterbrechen und anzuhalten.
Der Unix-Terminaltreiber verwendet das Übertragungsendezeichen ( EOT ), auch bekannt als Strg+D, um das Ende eines Datenstroms anzuzeigen.
In der Programmiersprache C und gemäß den Unix-Konventionen wird das Nullzeichen verwendet, um Textzeichenketten zu beenden ; solche nullterminierten Zeichenketten können in der Abkürzung als ASCIZ oder ASCIIZ bezeichnet werden, wobei Z hier für "Null" steht.
Codetabelle
Steuercodetabelle
| Binär | Oktober | Dezember | Verhexen | Abkürzung | Unicode -Steuerungsbilder [ b ] | Caret-Notation [ c ] | C-Escape-Sequenz [ d ] | Name (1967) | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 1963 | 1965 | 1967 | ||||||||
| 000 0000 | 000 | 0 | 00 | NULL | NUL | ␀ | ^@ | \0 [ e ] | Null | |
| 000 0001 | 001 | 1 | 01 | SOM | SOH | ␁ | ^A | Anfang der Überschrift | ||
| 000 0010 | 002 | 2 | 02 | EOA | STX | ␂ | ^B | Textanfang | ||
| 000 0011 | 003 | 3 | 03 | EOM | ETX | ␃ | ^C | Ende des Textes | ||
| 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 | Anerkennung | ||
| 000 0111 | 007 | 7 | 07 | GLOCKE | BEL | ␇ | ^G | \A | Glocke (Alarm) | |
| 000 1000 | 010 | 8 | 08 | FE, | BS | ␈ | ^H | \B | Rücktaste [ f ] [ g ] | |
| 000 1001 | 011 | 9 | 09 | HT/SK | HT | ␉ | ^I | \T | Horizontaler Tabulator [ h ] | |
| 000 1010 | 012 | 10 | 0A | LF | ␊ | ^J | \N | Zeilenvorschub | ||
| 000 1011 | 013 | 11 | 0B | VTAB | VT | ␋ | ^K | \v | Vertikale Registerkarte | |
| 000 1100 | 014 | 12 | 0 °C | FF | ␌ | ^L | \F | Seitenvorschub | ||
| 000 1101 | 015 | 13 | 0D | CR | ␍ | ^M | \R | Rückfahrt [ i ] | ||
| 000 1110 | 016 | 14 | 0E | ALSO | ␎ | ^N | Ausziehen | |||
| 000 1111 | 017 | 15 | 0F | SI | ␏ | ^O | Schicht einlegen | |||
| 001 0000 | 020 | 16 | 10 | DC0 | DLE | ␐ | ^P | Datenverbindungsabbruch | ||
| 001 0001 | 021 | 17 | 11 | DC1 | ␑ | ^Q | Gerätesteuerung 1 (oft XON ) | |||
| 001 0010 | 022 | 18 | 12 | DC2 | ␒ | ^R | Gerätesteuerung 2 | |||
| 001 0011 | 023 | 19 | 13 | DC3 | ␓ | ^S | Gerätesteuerung 3 (oft XOFF ) | |||
| 001 0100 | 024 | 20 | 14 | DC4 | ␔ | ^T | Gerätesteuerung 4 | |||
| 001 0101 | 025 | 21 | 15 | FEHLER | NAK | ␕ | ^U | Negative Bestätigung | ||
| 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 | DÜRFEN | ␘ | ^X | Stornieren | ||
| 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 [ j ] | Flucht [ k ] | |
| 001 1100 | 034 | 28 | 1C | S4 | FS | ␜ | ^\ | Dateitrennzeichen | ||
| 001 1101 | 035 | 29 | 1D | S5 | GS | ␝ | ^] | Gruppentrennzeichen | ||
| 001 1110 | 036 | 30 | 1E | S6 | RS | ␞ | ^^ [ l ] | Datensatztrennzeichen | ||
| 001 1111 | 037 | 31 | 1F | S7 | UNS | ␟ | ^_ | Einheitentrenner | ||
| 111 1111 | 177 | 127 | 7F | DEL | ␡ | ^? | Löschen [ m ] [ g ] | |||
Andere Darstellungsformen können von Spezialgeräten verwendet werden, zum Beispiel ISO 2047- Grafiken oder Hexadezimalzahlen .
Druckbare Zeichentabelle
Zum Zeitpunkt ihrer Einführung erzeugten die Codes 20 hex bis 7E hex den Druck eines sichtbaren Zeichens (einer Glyphe) und wurden daher als „druckbare Zeichen“ bezeichnet. Diese Codes repräsentieren Buchstaben, Ziffern, Satzzeichen und einige wenige sonstige Symbole. Insgesamt gibt es 95 druckbare Zeichen. [ n ]
Der Leerraum zwischen Wörtern, der durch die Leertaste einer Tastatur erzeugt wird, hat den Hexadezimalcode 20. Da das Leerzeichen im gedruckten Text sichtbar ist, gilt es als „druckbares Zeichen“, obwohl es insofern einzigartig ist, als es kein sichtbares Glyphenzeichen besitzt. Es ist gemäß dem ASCII-Standard in der Tabelle der druckbaren Zeichen und nicht in der Tabelle der Steuerzeichen aufgeführt. [ 3 ] : 223 [ 21 ]
Der Hexadezimalcode 7F entspricht dem nicht druckbaren Steuerzeichen "Löschen" (DEL) und ist in der Steuerzeichentabelle aufgeführt.
Frühere Versionen von ASCII verwendeten den Pfeil nach oben anstelle des Caret-Zeichens (5E hex ) und den Pfeil nach links anstelle des Unterstrichs (5F hex ). [ 8 ] [ 52 ]
| Binär | Oktober | Dezember | Verhexen | Glyphe | ||
|---|---|---|---|---|---|---|
| 1963 | 1965 | 1967 | ||||
| 010 0000 | 040 | 32 | 20 | Leerzeichen (kein sichtbares Glyphe) | ||
| 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 | Die | ||
| 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.000 | 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 | ICH | ||
| 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 | ich | ||
| 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 | | | ~ |
Verwendung
ASCII wurde 1963 erstmals kommerziell als Sieben-Bit-Fernschreibercode für das TWX-Netzwerk (TeletypeWriter eXchange) von American Telephone & Telegraph eingesetzt. TWX nutzte ursprünglich den älteren Fünf-Bit-Code ITA2 , der auch vom konkurrierenden Fernschreibersystem Telex verwendet wurde. Bob Bemer führte Funktionen wie die Escape-Sequenz ein . [ 7 ] Sein britischer Kollege Hugh McGregor Ross trug maßgeblich zur Popularisierung dieser Arbeit bei – laut Bemer „so sehr, dass der Code, der später als ASCII bekannt werden sollte, in Europa zunächst Bemer-Ross-Code genannt wurde “. [ 53 ] Aufgrund seiner umfangreichen Arbeit an ASCII gilt Bemer als „Vater von ASCII“. [ 54 ]
Am 11. März 1968 ordnete US-Präsident Lyndon B. Johnson an, dass alle von der US-Bundesregierung gekauften Computer ASCII unterstützen müssen, und erklärte: [ 55 ] [ 56 ] [ 57 ]
Ich habe außerdem die Empfehlungen des Handelsministers [ Luther H. Hodges ] bezüglich der Standards für die Aufzeichnung des Standardcodes für den Informationsaustausch (SCI) auf Magnet- und Lochstreifen bei deren Verwendung in Computersystemen genehmigt. Alle Computer und zugehörigen Gerätekonfigurationen, die ab dem 1. Juli 1969 in den Bestand der Bundesregierung aufgenommen wurden, müssen die Fähigkeit besitzen, den Standardcode für den Informationsaustausch (SCI) und die in den Standards für Magnet- und Lochstreifen vorgeschriebenen Formate zu verwenden, wenn diese Medien zum Einsatz kommen.
Bis Dezember 2007 war ASCII die gebräuchlichste Zeichenkodierung im World Wide Web , bis sie von UTF-8 abgelöst wurde; UTF-8 ist abwärtskompatibel zu ASCII. [ 58 ] [ 59 ] [ 60 ]
Varianten und Ableitungen
Mit der weltweiten Verbreitung der Computertechnologie entwickelten verschiedene Normungsorganisationen und Unternehmen zahlreiche ASCII-Varianten, um die Darstellung nicht-englischer Sprachen mit lateinischen Alphabeten zu erleichtern. Einige dieser Varianten lassen sich als „ ASCII-Erweiterungen “ bezeichnen, obwohl dieser Begriff mitunter fälschlicherweise für alle Varianten verwendet wird, auch für solche, die die ASCII-Zeichentabelle im 7-Bit-Bereich nicht beibehalten. Darüber hinaus wurden die ASCII-Erweiterungen auch fälschlicherweise als ASCII bezeichnet.
7-Bit-Codes
Von Anfang an war ASCII [ 61 ] nur als eine von mehreren nationalen Varianten eines internationalen Zeichenkodierungsstandards gedacht.
Andere internationale Normungsorganisationen haben Zeichenkodierungen wie ISO 646 (1967) ratifiziert, die mit ASCII identisch oder nahezu identisch sind und Erweiterungen für Zeichen außerhalb des englischen Alphabets sowie für Symbole außerhalb der USA enthalten, wie beispielsweise das Symbol für das britische Pfund Sterling (£) auf Seite 1104. Fast jedes Land benötigte eine angepasste Version von ASCII, da ASCII nur den Bedürfnissen der USA und einiger weniger anderer Länder entsprach. Kanada beispielsweise hatte eine eigene Version, die französische Zeichen unterstützte.
Viele andere Länder entwickelten Varianten von ASCII, um nicht-englische Buchstaben (z. B. é , ñ , ß , Ł ), Währungssymbole (z. B. £ , ¥ ) usw. einzuschließen. Siehe auch YUSCII (Jugoslawien).
Es würde die meisten Zeichen gemeinsam haben, aber andere lokal nützliche Zeichen mehreren Codepunkten zuordnen , die für den „nationalen Gebrauch“ reserviert sind. Die vier Jahre, die zwischen der Veröffentlichung von ASCII-1963 und der ersten Annahme einer internationalen Empfehlung durch die ISO im Jahr 1967 [ 62 ] vergingen , führten jedoch dazu, dass die von ASCII für den nationalen Gebrauch festgelegten Zeichen als De-facto -Standards für die Welt galten, was zu Verwirrung und Inkompatibilität führte, sobald andere Länder begannen, ihre eigenen Zuordnungen zu diesen Codepunkten vorzunehmen.
ISO/IEC 646 ist wie ASCII ein 7-Bit-Zeichensatz. Da er keine zusätzlichen Codes bereitstellt, kodierten dieselben Codepunkte in verschiedenen Ländern unterschiedliche Zeichen. Escape-Codes wurden zwar definiert, um die jeweilige nationale Variante eines Textes anzugeben, wurden aber selten verwendet. Daher war es oft unmöglich zu wissen, mit welcher Variante gearbeitet werden sollte und welches Zeichen ein Code repräsentierte. Im Allgemeinen konnten Textverarbeitungssysteme ohnehin nur mit einer einzigen Variante umgehen.
Da die Klammer- und geschweiften Klammerzeichen von ASCII „nationalen“ Codepunkten zugeordnet waren, die in anderen nationalen Varianten von ISO/IEC 646 für Akzentbuchstaben verwendet wurden, musste ein deutscher, französischer, schwedischer usw. Programmierer, der seine nationale Variante von ISO/IEC 646 anstelle von ASCII verwendete, etwas wie beispielsweise schreiben und somit auch lesen:
ä aÄiÜ = 'Ön'; ü
anstatt
{ a[i] = '\n'; }
C-Trigraphen wurden entwickelt, um dieses Problem für ANSI C zu lösen . Ihre späte Einführung und die uneinheitliche Implementierung in Compilern schränkten jedoch ihre Verwendung ein. Viele Programmierer nutzten weiterhin ASCII, sodass Klartext in Schwedisch, Deutsch usw. (z. B. in E-Mails oder Usenet ) mitten in Wörtern geschweifte Klammern wie „{, }“ und ähnliche Varianten enthielt – etwas, woran sich die Programmierer gewöhnt hatten. So konnte beispielsweise ein schwedischer Programmierer, der einem anderen Programmierer eine E-Mail schrieb und fragte, ob sie Mittagessen gehen sollten, die Antwort „N{ jag har sm|rg}sar“ erhalten, was eigentlich „Nä jag har smörgåsar“ (Nein, ich habe Sandwiches) bedeuten sollte.
In Japan und Korea wird, Stand 2020, eine Variante des ASCII-Zeichensatzes verwendet, bei der der Backslash (5C hexadezimal) als ¥ ( Yen-Zeichen in Japan) bzw. ₩ ( Won-Zeichen in Korea) dargestellt wird. Das bedeutet beispielsweise, dass der Dateipfad C:\Users\Smith in Japan als C:¥Users¥Smith und in Korea als C:₩Users₩Smith angezeigt wird.
In Europa werden für Fernsehuntertitel Teletext-Zeichensätze verwendet, die Varianten von ASCII darstellen. Diese werden vom World System Teletext definiert und mithilfe des DVB-TXT-Standards für die Einbettung von Teletext in DVB-Übertragungen ausgestrahlt. [ 63 ] Falls die Untertitel ursprünglich für Teletext erstellt und konvertiert wurden, sind die abgeleiteten Untertitelformate auf dieselben Zeichensätze beschränkt.
8-Bit-Codes
Als 8-, 16- und 32-Bit -Computer (und später 64-Bit-Computer ) die 12- , 18- und 36-Bit- Computer als Standard ablösten , wurde es üblich, jedes Zeichen in einem 8-Bit-Byte im Speicher abzulegen. Dies ermöglichte die Entwicklung erweiterter, 8-Bit-Varianten des ASCII-Zeichensatzes. In den meisten Fällen entstanden diese als echte Erweiterungen von ASCII, wobei die ursprüngliche Zeichenzuordnung beibehalten, aber zusätzliche Zeichendefinitionen nach den ersten 128 (d. h. 7-Bit-)Zeichen hinzugefügt wurden. ASCII selbst blieb ein 7-Bit-Code: Der Begriff „erweitertes ASCII“ hat keinen offiziellen Status.
Für einige Länder wurden 8-Bit-Erweiterungen von ASCII entwickelt, die die Unterstützung von Zeichen für die jeweiligen Landessprachen beinhalten (zum Beispiel ISCII für Indien und VISCII für Vietnam).
Selbst in Märkten, in denen die Unterstützung zusätzlicher Sprachen durch viele weitere Zeichen nicht notwendig war, entwickelten Hersteller früher Heimcomputersysteme häufig eigene 8-Bit-Erweiterungen des ASCII-Zeichensatzes, um zusätzliche Zeichen wie Box-Drawing-Zeichen , Semigrafiken und Videospiel-Sprites einzubinden . Oftmals ersetzten diese Erweiterungen auch Steuerzeichen (Index 0 bis 31 sowie Index 127) durch noch plattformspezifischere Erweiterungen. In anderen Fällen wurde das zusätzliche Bit für andere Zwecke verwendet, beispielsweise zum Umschalten der Video-Inversion ; diesen Ansatz nutzte ATASCII , eine von Atari entwickelte Erweiterung des ASCII-Zeichensatzes .
Die meisten ASCII-Erweiterungen basieren auf ASCII-1967 (dem aktuellen Standard), einige jedoch auf dem älteren ASCII-1963. So basiert beispielsweise PETSCII , das von Commodore International für seine 8-Bit- Systeme entwickelt wurde , auf ASCII-1963. Auch viele Sharp-MZ-Zeichensätze basieren auf ASCII-1963.
IBM definierte die Codepage 437 für den IBM PC , wobei die Steuerzeichen durch grafische Symbole wie Smileys ersetzt und zusätzliche grafische Zeichen den oberen 128 Positionen zugeordnet wurden. [ 64 ] Die Digital Equipment Corporation entwickelte den Multinational Character Set (DEC-MCS) für das weit verbreitete Terminal VT220 als eine der ersten Erweiterungen, die eher für internationale Sprachen als für Blockgrafiken konzipiert waren. Apple definierte Mac OS Roman für den Macintosh und Adobe die PostScript Standard Encoding für PostScript ; beide Zeichensätze enthielten „internationale“ Buchstaben, typografische Symbole und Satzzeichen anstelle von Grafiken und ähnelten damit eher modernen Zeichensätzen.
Der ISO/IEC-8859 -Standard (abgeleitet vom DEC-MCS) diente als Grundlage für die meisten Systeme (oder basierte zumindest auf ihnen, wenn sie nicht exakt kopiert wurden). Eine von Microsoft entwickelte, weit verbreitete Erweiterung, Windows-1252 (oft fälschlicherweise als ISO-8859-1 bezeichnet ), fügte die für den traditionellen Textdruck benötigten typografischen Satzzeichen hinzu. ISO-8859-1, Windows-1252 und das ursprüngliche 7-Bit-ASCII waren bis 2008 die gängigsten Zeichenkodierungsverfahren im World Wide Web , bis sie von UTF-8 abgelöst wurden. [ 59 ]
ISO/IEC 4873 führte 32 zusätzliche Steuercodes im hexadezimalen Bereich 80–9F ein, um die 7-Bit-ASCII-Codierung auf ein 8-Bit-System zu erweitern. [ 65 ]
Unicode
Unicode und der ISO/IEC 10646 Universal Character Set (UCS) verfügen über einen wesentlich größeren Zeichensatz, und ihre verschiedenen Kodierungsformen haben ISO/IEC 8859 und ASCII in vielen Umgebungen rasch verdrängt. Während ASCII auf 128 Zeichen beschränkt ist, unterstützen Unicode und der UCS mehr Zeichen, indem sie die Konzepte der eindeutigen Identifizierung (mittels natürlicher Zahlen, sogenannter Codepunkte ) und der Kodierung (in 8-, 16- oder 32-Bit-Binärformate, genannt UTF-8 , UTF-16 bzw. UTF-32 ) trennen.
ASCII wurde als eines der ersten 128 Symbole in den Unicode-Zeichensatz (1991) aufgenommen, sodass die 7-Bit-ASCII-Zeichen in beiden Zeichensätzen dieselben numerischen Codes besitzen. Dadurch ist UTF-8 abwärtskompatibel zu 7-Bit-ASCII, da eine UTF-8-Datei, die ausschließlich ASCII-Zeichen enthält, identisch mit einer ASCII-Datei ist, die dieselbe Zeichenfolge enthält. Noch wichtiger ist die Aufwärtskompatibilität : Software, die nur 7-Bit-ASCII-Zeichen als Sonderzeichen erkennt und Bytes mit gesetztem höchstwertigen Bit nicht verändert (wie es häufig zur Unterstützung von 8-Bit-ASCII-Erweiterungen wie ISO-8859-1 geschieht), erhält die UTF-8-Daten unverändert. [ 66 ]
Siehe auch
- 3568 ASCII – Asteroid
- Alt-Codes – Eingabemethode
- ASCII-Kunst – Computerkunstform, die Textzeichen verwendet
- ASCII-Band-Kampagne – Kampagne für E-Mails im Klartextformat (nur Text)
- Lateinische Basis (Unicode-Block)
- Erweitertes ASCII – Spitzname für von 8-Bit-ASCII abgeleitete Zeichensätze
- HTML-Dezimalzeichenwiedergabe – Verwendung von Kodierungssystemen für internationale Zeichen in HTML
- Jargon-Datei – Sammlung von Definitionen aus Computer-Subkulturen
- Textdatei – Computerdatei, die Klartext enthält
- Liste der Computerzeichensätze
- Liste der Unicode-Zeichen
Anmerkungen
- ^ a b c d eDie 128 Zeichen des 7-Bit-ASCII-Zeichensatzes sind in acht Gruppen mit je 16 Zeichen unterteilt , die als Sticks 0–7 bezeichnet werden und den drei höchstwertigen Bits zugeordnet sind . [ 13 ] Je nach horizontaler oder vertikaler Darstellung der Zeichentabelle können die Sticks entweder Tabellenzeilen oder -spalten entsprechen.
- Die Unicode-Zeichen im Bereich „Control Pictures“ (U+2400 bis U+2421) sind für die Darstellung von Steuerzeichen reserviert, wenn diese beim Drucken oder Anzeigen benötigt werden und nicht ihre eigentliche Funktion erfüllen sollen. Einige Browser stellen diese Zeichen möglicherweise nicht korrekt dar.
- Die Caret-Notation (^) wird häufig verwendet, um Steuerzeichen auf einem Terminal darzustellen. Auf den meisten Textterminalserzeugt das Gedrückthalten der Umschalttaste beim Eintippen des zweiten Zeichens das Steuerzeichen. Manchmal ist die Umschalttaste nicht erforderlich; beispielsweisekann die Eingabe auch mit Strg+2 oder Strg+Leertaste erfolgen.Ctrl
^@ - ^ Escape-Sequenzen für Zeichen in der Programmiersprache C und vielen anderen davon beeinflussten Sprachen wie Java und Perl (wobei nicht alle Implementierungen notwendigerweise alle Escape-Sequenzen unterstützen).
- Die Eingabe eines beliebigen Einzelbyte-Zeichens wird durch Maskierung seines Oktalwerts unterstützt. Aufgrund der Rolle von NULL in C-Strings findet dieser Fall jedoch eine besondere Anwendung.
- ^ Das Rücktastezeichen kann auf einigen Systemenauch durch Drücken der Taste eingegeben werden← Backspace
- Die Mehrdeutigkeit der Rücktaste rührt daher , dass frühe Terminals davon ausgingen, dass die Tastatur hauptsächlich zum manuellen Lochen von Lochstreifen verwendet würde, ohne mit einem Computer verbunden zu sein. Um das vorherige Zeichen zu löschen, musste man den Lochstreifenstanzer zurücksetzen. Aus mechanischen und praktischen Gründen befand sich dazu eine Taste am Stanzer selbst und nicht auf der Tastatur. Anschließend musste man das Löschzeichen eingeben. Daher platzierte man eine Löschtaste an der Stelle, an der sich bei Schreibmaschinen die Rücktaste befand. Wenn Systeme diese Terminals nutzten und eine Kommandozeilenbearbeitung ermöglichten, mussten sie den Löschcode verwenden, um eine Rücktaste auszuführen, und interpretierten das Rücktastezeichen oft nicht (sie gaben beispielsweise " ^H " für Rücktaste aus). Andere Terminals, die nicht für Lochstreifen ausgelegt waren, ließen die Taste an dieser Stelle die Rücktaste auslösen, und Systeme, die für diese Terminals entwickelt wurden, verwendeten dieses Zeichen zum Zurücksetzen. Da der Löschcode oft einen Rücktaste-Effekt erzeugte, waren die Terminalhersteller gezwungen, jede Taste so zu belegen, dass sie etwas anderes als das Löschzeichen auslöste.Delete
- ^ Das Tabulatorzeichen kann auf den meisten Systemenauch durch Drücken der Taste eingegeben werdenTab ↹
- ^ Das Wagenrücklaufzeichen kann auf den meisten Systemenauch durch Drücken deroder↵ EnterReturn
- Die Escape-Sequenz \e ist nicht Bestandteil der ISO-C- Spezifikation und vieler anderer Sprachspezifikationen. Sie wird jedoch von mehreren Compilern, darunter GCC , verstanden .
- ^ Das Escape-Zeichen kann auf einigen Systemenauch durch Drücken der Taste eingegeben werdenEsc
- ^ ^^ bedeutet+(Drücken derTasten "Strg" und "Caret ").Ctrl^
- ^ Das Entf-Zeichen kann auf manchen Systemendurch Drücken der Entf-Taste eingegeben werden← Backspace
- ^ Ausgedruckt lauten die Zeichen:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Referenzen
- ^ ANSI (01.12.1975). ISO-IR-6: ASCII-Grafikzeichensatz (PDF) . ITSCJ/ IPSJ .
- ^ a b „Zeichensätze“ . Internet Assigned Numbers Authority (IANA) . 14.05.2007 . Abgerufen am 25.08.2019 .
- Mackenzie, Charles E. (1980). Coded Character Sets , History and Development (PDF) . The Systems Programming Series (1. Aufl.). 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-4LCCN 77-90165 . Archiviert (PDF) vom Original am 26. Mai 2016. Abgerufen am 25. August 2019 .
- ^ Shirley, R. (August 2007). Internet Security Glossary, Version 2. IETF . doi : 10.17487 /RFC4949 . RFC 4949. Abgerufen am 13. Juni 2016 .
- ^ Maini, Anil Kumar (2007). Digitalelektronik: Grundlagen, Bauelemente und Anwendungen . John Wiley and Sons . S. 28. ISBN 978-0-470-03214-5Darüber
hinaus definiert es Codes für 33 nicht druckbare, größtenteils veraltete Steuerzeichen, die Einfluss auf die Textverarbeitung haben.
- ^ „Meilenstein-Vorschlag: ASCII-Meilenstein – IEEE NJ Coast Section“ . IEEE Milestones Wiki . 29.03.2016 . Abgerufen am 26.02.2024 .
- ^ a b Brandel, Mary (06.07.1999). „1963: Das Debüt von ASCII“ . CNN . Archiviert vom Original am 17.06.2013 . Abgerufen am 14.04.2008 .
- ^ a b c d „American Standard Code for Information Interchange, ASA X3.4-1963“ . Sensitive Research . American Standards Association . 17.06.1963 . Abgerufen am 06.06.2020 .
- ^ a b c USA Standard Code for Information Interchange, USAS X3.4-1967 (Technischer Bericht). United States of America Standards Institute . 1967-07-07.
- ^ Jennings, Thomas Daniel (20.04.2016) [1999]. „Eine kommentierte Geschichte einiger Zeichencodes oder ASCII: American Standard Code for Information Infiltration“ . Sensitive Research . Abgerufen am 08.03.2020 .
- ^ a b c d Amerikanischer Nationalstandard für Informationssysteme – Codierte Zeichensätze – 7-Bit-ASCII-Code (American National Standard Code for Information Interchange), ANSI X3.4-1986 (Technischer Bericht). American National Standards Institute (ANSI). 26.03.1986.
- ^ Bukstein, Ed (Juli 1964). „Binäre Computercodes und ASCII“ . Electronics World . 72 (1): 28–29 . Archiviert vom Original am 3. März 2016. Abgerufen am 22. Mai 2016 .
- ^ a b c d e f Bemer, Robert William (1980). „Kapitel 1: Inside ASCII“ (PDF) . Allgemeine Software . Best of Interface Age. Band 2. Portland, OR, USA: Dilithium Press. S. 1–50 . ISBN 978-0-918398-37-6LCCN 79-67462 . Archiviert vom Original am 27.08.2016 . Abgerufen am 27.08.2016 .aus:
- Bemer, Robert William (Mai 1978). „Inside ASCII – Part I“. Interface Age . 3 (5): 96–102 .
- Bemer, Robert William (Juni 1978). „Inside ASCII – Part II“. Interface Age . 3 (6): 64–74 .
- Bemer, Robert William (Juli 1978). „Inside ASCII – Part III“. Interface Age . 3 (7): 80–87 .
- ^ Kurzbericht: Treffen der CCITT-Arbeitsgruppe zum neuen Telegrafenalphabet, 13.–15. Mai 1963.
- ^ Bericht des ISO/TC/97/SC 2 – Treffen vom 29. bis 31. Oktober 1963.
- ^ Bericht der Arbeitsgruppe X3.2.4, 11. Juni 1963, Pentagon-Gebäude, Washington, DC.
- ^ Bericht der Sitzung Nr. 8, Arbeitsgruppe X3.2.4, 17. und 18. Dezember 1963
- ^ a b c Winter, Dik T. (2010) [2003]. „US and International standards: ASCII“ . Archiviert vom Original am 16.01.2010.
- ^ a b USA Standard Code for Information Interchange, USAS X3.4-1968 (Technischer Bericht). United States of America Standards Institute . 1968-10-10.
- ^ a b c d e f g Salste, Tuomas (Januar 2016). „7-Bit-Zeichensätze: Revisionen von ASCII“ . Aivosto Oy. urn : nbn:fi-fe201201011004 . Archiviert vom Original am 13.06.2016 . Abgerufen am 13.06.2016 .
- ^ a b Cerf, Vint (1969-10-16). ASCII-Format für den Netzwerkaustausch . Network Working Group. doi : 10.17487/RFC0020 . RFC 20. Abgerufen am 13.06.2016 .(Anmerkung: Fast identischer Wortlaut wie in USAS X3.4-1968, außer in der Einleitung.)
- ^ Barry Leiba (12.01.2015). „Korrekte Klassifizierung von RFC 20 (ASCII-Format) als Internetstandard“ . IETF .
- ^ „Information“. Scientific American (Sonderausgabe). 215 (3). September 1966. JSTOR e24931041 .
- ^ Korpela, Jukka K. (14.03.2014) [07.06.2006]. Unicode Explained – Internationalize Documents, Programs, and Web Sites (2. Auflage der 1. Auflage). O'Reilly Media, Inc. S. 118. ISBN 978-0-596-10121-3Die
- ^ ANSI INCITS 4-1986 (R2007): American National Standard for Information Systems – Coded Character Sets – 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII) , 2007 [1986]
- ^ "INCITS 4-1986[R2012]: Information Systems - Coded Character Sets - 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII)" . 15.06.2012. Archiviert vom Original am 28.02.2020 . Abgerufen am 28.02.2020 .
- ^ "INCITS 4-1986[R2017]: Information Systems - Coded Character Sets - 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII)" . 2017-11-02 [2017-06-09]. Archiviert vom Original am 2020-02-28 . Abgerufen am 2020-02-28 .
- ^ „INCITS 4-1986 (R2022)“ . webstore.ansi.org .
- ^ Bitsequenzierung des amerikanischen nationalen Standardcodes für den Informationsaustausch bei serieller Bit-Datenübertragung , American National Standards Institute (ANSI), 1966, X3.15-1966
- ^ „Telegrafenverordnung und Schlussprotokoll (Madrid, 1932)“ (PDF) . Archiviert vom Original am 21.08.2023 . Abgerufen am 09.06.2024 .
- ^ a b Smith, Gil (2001). „Teletype Communication Codes“ (PDF) . Baudot.net. Archiviert (PDF) vom Original am 20.08.2008 . Abgerufen am 11.07.2008 .
- ^ Sawyer, Stanley A.; Krantz, Steven George (1995). A TeX Primer for Scientists . CRC Press . S. 13. Bibcode : 1995tps..book.....S . ISBN 978-0-8493-7159-2Archiviert vom Original am 22.12.2016 . Abgerufen am 29.10.2016 .
- ^ Savard, John JG „Computer Keyboards“ . Archiviert vom Original am 24.09.2014 . Abgerufen am 24.08.2014 .
- ^ „ASCIIbetical“ . PCMag Encyclopedia . Abgerufen am 23.06.2026 .
- ^ Resnick, Peter W., Hrsg. (April 2001). Internet Message Format . IETF . doi : 10.17487/RFC2822 . RFC 2822. Abgerufen am 13. Juni 2016 .(NB. NO-WS-CTL.)
- ^ McConnell, Robert; Haynes, James; Warren, Richard. „ASCII-Codes verstehen“ . Archiviert vom Original am 27.02.2014 . Abgerufen am 11.05.2014 .
- ^ Barry Margolin (29.05.2014). „Re: Geschichte von Editoren und Textverarbeitungsprogrammen (vorher: Re: RTF für Emacs)“ . help-gnu-emacs (Mailingliste). Archiviert vom Original am 14.07.2014 . Abgerufen am 11.07.2014 .
- ^ a b „PDP-6 Multiprogramming System Manual“ (PDF) . Digital Equipment Corporation (DEC). 1965. S. 43. Archiviert (PDF) vom Original am 14.07.2014 . Abgerufen am 10.07.2014 .
- ^ a b „PDP-10 Reference Handbook, Book 3, Communicating with the Monitor“ (PDF) . Digital Equipment Corporation (DEC). 1969. S. 5-5. Archiviert (PDF) vom Original am 15.11.2011 . Abgerufen am 10.07.2014 .
- ^ „Hilfe – GNU Emacs-Handbuch“ . Archiviert vom Original am 11.07.2018 . Abgerufen am 11.07.2018 .
- ^ "ANSI X3.64-1979" (PDF) . Abgerufen am 27.10.2024 .
- ^ Tim Paterson (08.08.2007). „Ist DOS eine Kopie von CP/M?“ DosMan Drivel . Archiviert vom Original am 20.04.2018 . Abgerufen am 19.04.2018 .
- Ossanna , JF ; Saltzer, JH (17.–19. November 1970). „Technische und ergonomische Probleme beim Anschluss von Terminals an ein Time-Sharing-System“ (PDF) . Proceedings der Fall Joint Computer Conference (FJCC) vom 17.–19. November 1970. AFIPS Press . S. 355–362 . Archiviert (PDF) vom Original am 19.08.2012 . Abgerufen am 29.01.2013 .
Die Verwendung einer „Zeilenumbruch“-Funktion (Kombination aus Wagenrücklauf und Zeilenvorschub) ist für Mensch und Maschine einfacher als die separate Verwendung beider Funktionen zum Beginn einer neuen Zeile; der amerikanische Nationalstandard X3.4-1968 erlaubt, dass der Zeilenvorschubcode die Bedeutung eines Zeilenumbruchs enthält.
- ^ O'Sullivan, T. (1971-05-19). TELNET-Protokoll . Internet Engineering Task Force (IETF). S. 4–5. doi : 10.17487/RFC0158 . RFC 158. Abgerufen am 28.01.2013 .
- ^ Neigus, Nancy J. (12.08.1973). File Transfer Protocol . Internet Engineering Task Force (IETF). doi : 10.17487/RFC0542 . RFC 542. Abgerufen am 28.01.2013 .
- ^ Postel, Jon (Juni 1980). File Transfer Protocol . Internet Engineering Task Force (IETF). doi : 10.17487/RFC0765 . RFC 765. Abgerufen am 28. Januar 2013 .
- ^ Crocker, David (13.08.1982). STANDARD FÜR DAS FORMAT VON ARPA-INTERNET-TEXTNACHRICHTEN . Internet Engineering Task Force (IETF). doi : 10.17487/RFC0822 . RFC 822 .
- ^ Berners-Lee, Tim; et al. (Mai 1996). Hypertext Transfer Protocol -- HTTP/1.0 . Internet Engineering Task Force (IETF). doi : 10.17487/RFC1945 . RFC 1945 .
- ^ „EOL-Übersetzungsplan für Mercurial“ . Mercurial. Archiviert vom Original am 16.06.2016 . Abgerufen am 24.06.2017 .
- ^ Bernstein, Daniel J. „Bare LFs in SMTP“ . Archiviert vom Original am 29.10.2011 . Abgerufen am 28.01.2013 .
- ^ CP/M 1.4 Interface Guide (PDF) . Digital Research . 1978. S. 10. Archiviert (PDF) vom Original am 29.05.2019 . Abgerufen am 07.10.2017 .
- ^ Haynes, Jim (13.01.2015). „Aus erster Hand: Chad ist unser wichtigstes Produkt: Erinnerungen eines Ingenieurs an die Teletype Corporation“ . Engineering and Technology History Wiki (ETHW) . Abgerufen am 14.02.2023 .
Es gab die Umstellung von ASCII 1961 auf ASCII 1968. Einige Programmiersprachen verwendeten Zeichen aus ASCII 1961, wie zum Beispiel den Pfeil nach oben und den Pfeil nach links. Diese Zeichen verschwanden mit ASCII 1968. Wir arbeiteten mit Fred Mocking, der inzwischen im Vertrieb bei
Teletype
tätig war , an einem Typenzylinder, der die sich ändernden Zeichen so auffangen sollte, dass die Bedeutungen von ASCII 1961 nicht vollständig verloren gingen. Der Unterstrich wurde keilförmig gestaltet, sodass er auch als Pfeil nach links verwendet werden konnte.
- ^ Bemer, Robert William . „Bemer trifft Europa (Computerstandards) – Computergeschichtliche Vignetten“ . Trailing-edge.com. Archiviert vom Original am 17.10.2013 . Abgerufen am 14.04.2008 .(Anmerkung: Bemer war zu dieser Zeit bei IBM angestellt .)
- ^ „Robert William Bemer: Biografie“ . 09.03.2013. Archiviert vom Original am 16.06.2016.
- ^ Johnson, Lyndon Baines (11.03.1968). „Memorandum zur Genehmigung der Einführung eines Standardcodes für den Informationsaustausch durch die Bundesregierung“ . The American Presidency Project. Archiviert vom Original am 14.09.2007 . Abgerufen am 14.04.2008 .
- ^ Richard S. Shuford (20.12.1996). „Re: Frühe Geschichte von ASCII?“ . Newsgroup : alt.folklore.computers . Usenet: Pine.SUN.3.91.961220100220.13180C-100000@duncan.cs.utk.edu .
- Folts , Harold C.; Karp, Harry (Hrsg.). (1982-02-01). Compilation of Data Communications Standards (2. überarbeitete Auflage). McGraw-Hill Inc. ISBN 978-0-07-021457-6Die
- ^ Dubost, Karl (06.05.2008). „UTF-8 Growth on the Web“ . W3C Blog . World Wide Web Consortium . Archiviert vom Original am 16.06.2016 . Abgerufen am 15.08.2010 .
- ^ a b Davis, Mark (05.05.2008). „Umstellung auf Unicode 5.1“ . Offizieller Google-Blog . Archiviert vom Original am 16.06.2016 . Abgerufen am 15.08.2010 .
- ^ Davis, Mark (28.01.2010). „Unicode nähert sich 50 % des Webs“ . Offizieller Google-Blog . Archiviert vom Original am 16.06.2016 . Abgerufen am 15.08.2010 .
- ^ „Spezifische Kriterien“, Anlage zum Memo von RW Reach, „X3-2-Treffen – 14. und 15. September“, 18. September 1961
- ^ Maréchal, R. (22.12.1967), ISO/TC 97 – Computer und Informationsverarbeitung: Annahme des Entwurfs der ISO-Empfehlung Nr. 1052
- ^ "DVB-TXT (Teletext) Spezifikation für die Übertragung von ITU-R System B Teletext in DVB-Bitströmen" .
- ^ Technische Referenz (PDF) . Referenzbibliothek für Personal Computer Hardware (Erste Auflage). IBM. August 1981. Anhang C. Zeichen, Tastenanschläge und Farben.
- ^ Das Unicode-Konsortium (27.10.2006). „Kapitel 13: Sonderbereiche und Formatzeichen“ (PDF) . In: Allen, Julie D. (Hrsg.). Der Unicode-Standard, Version 5.0 . Upper Saddle River, New Jersey, USA: Addison-Wesley Professional . S. 314. ISBN 978-0-321-48091-0Archiviert ( PDF) vom Original am 09.10.2022 . Abgerufen am 13.03.2015 .
- ^ „utf-8(7) – Linux-Handbuchseite“ . Man7.org. 26.02.2014. Archiviert vom Original am 22.04.2014 . Abgerufen am 21.04.2014 .
Weiterführende Literatur
- Bemer, Robert William (1960). „Ein Vorschlag zur Kompatibilität von Zeichencodes“ . Communications of the ACM . 3 (2): 71–72 . doi : 10.1145/366959.366961 . S2CID 9591147 .
- Bemer, Robert William (23.05.2003). „Das babylonische Code-Chaos vor ASCII: Die Umfrage zu codierten Zeichensätzen von 1960: Die Gründe für ASCII“ . Archiviert vom Original am 17.10.2013 . Abgerufen am 09.05.2016 .aus:
- Bemer, Robert William (Dezember 1960). „Übersicht über die kodierte Zeichendarstellung“ . Communications of the ACM . 3 (12): 639–641 . doi : 10.1145/367487.367493 . S2CID 21403172 .
- Smith, HJ; Williams, FA (Dezember 1960). „Übersicht über Lochkartencodes“ . Communications of the ACM . 3 (12): 642. doi : 10.1145/367487.367491 .
- „American National Standard Code for Information Interchange | ANSI X3.4-1977“ (PDF) . National Institute for Standards. 1977. Archiviert (PDF) vom Original am 09.10.2022. (Faksimile, nicht maschinenlesbar)
- Robinson, GS; Cargill, C. (1996). „Geschichte und Auswirkungen von Computerstandards“. Computer . Band 29, Nr. 10. S. 79–85 . doi : 10.1109/2.539725 .
- Mullendore, Ralph Elvin (1964) [1963]. Ptak, John F. (Hrsg.). „Zur frühen Entwicklung von ASCII – Die Geschichte von ASCII“ . JF Ptak Science Books (erschienen im März 2012). Archiviert vom Original am 26.05.2016 . Abgerufen am 26.05.2016 .
Externe Links
- „C0-Steuerelemente und lateinische Basiszeichen – Bereich: 0000–007F“ (PDF) . Der Unicode-Standard 8.0 . Unicode, Inc. 2015 [1991]. Archiviert (PDF) vom Original am 26.05.2016 . Abgerufen am 26.05.2016 .