ASCII - ASCII


Aus Wikipedia, der freien Enzyklopädie

ASCII
ASCII-infobox.svg
ASCII (1967 oder höher)
MIME / IANA us-ascii
Alias ​​(es) ASCII
Sprachen) Englisch
Einstufung ISO 646-Serie
Erweiterungen
vorangestelltem ITA 2 , Fieldata
gefolgt von ISO 8859 , Unicode
Andere verwandte Codierung (en) PETSCII

ASCII ( / æ s k i /  ( hören ) Über diesen Sound ASS -kee ), abgekürzt von American Standard Code für Informationsaustausch , ist ein Zeichencodierungsstandard für die elektronische Kommunikation. ASCII - Codes repräsentieren Text in Computern, Telekommunikationsgeräte und andere Geräte. Die meisten modernen Zeichencodierungsschemata auf ASCII basieren, obwohl sie viele zusätzliche Zeichen.

ASCII ist der traditionelle Name für das Codierungssystem; das Internet Assigned Numbers Authority (IANA) zieht den aktualisierten Namen US-ASCII , die , dass dieses System verdeutlicht wurde in den USA entwickelt und basierte auf den typographischen Symbolen überwiegend dort im Einsatz.

ASCII ist eine der IEEE Meilensteine .

ASCII-Diagramm von einem früher als 1972 Druckerhandbuch (b1 ist das niedrigstwertige Bit.)

Überblick

ASCII wurde aus entwickelte Telegraphen - Code . Seine erste kommerzielle Nutzung war als sieben- Bit Fernschreiber Code gefördert von Bell Datendienste. Die Arbeiten an dem ASCII - Standard begannen am 6. Oktober 1960 mit der ersten Sitzung des amerikanischen Standards Association ‚s (ASA) (jetzt die American National Standards Institute oder ANSI) X3.2 Unterausschusses. Die erste Ausgabe des Standards im Jahr 1963 veröffentlicht wurde , während 1967 eine große Revision unterzog, und erlebte seine jüngste Aktualisierung während 1986 im Vergleich zu früheren Telegraphen - Codes, die vorgeschlagene Bell - Code und ASCII wurden sowohl für bequemere Sortierung bestellt (dh alphabetization ) von Listen und zusätzlichen Funktionen für andere Geräte als Fernschreiber.

Ursprünglich auf der Basis Alphabet Englisch , ASCII codiert 128 angegebenen Zeichen in sieben-Bit - Integer , wie oben durch die ASCII - Grafik dargestellt. Fünfundneunzig der kodierten Zeichen druckbar sind: Das sind die Ziffern umfassen 0 bis 9 , Kleinbuchstaben a bis z , Großbuchstaben A bis Z , und Interpunktionszeichen . Darüber hinaus enthielt die ursprüngliche ASCII - Spezifikation 33 Nicht-Druck - Steuercodes , die mit ihrem Ursprung Fernschreibern ; die meisten von ihnen sind mittlerweile veraltet, obwohl einige sind immer noch häufig verwendet, wie die Wagenrücklauf , Zeilenvorschub und Tab - Codes.

Zum Beispiel Klein i durch in der ASCII - Kodierung dargestellt werden würde binär 1101001 = hexadezimal (69 i ist der neunte Buchstabe) = dezimal 105.

Geschichte

ASCII (1963). Steuer Bilder gleichwertiger Kontrollen gezeigt , wo sie existieren, oder einen grauen Punkt anders.

Die American Standard Code for Information Interchange (ASCII) wurde unter der Schirmherrschaft eines Ausschuß der entwickelten amerikanischen Standards Association (ASA), die X3 Ausschuß durch seine X3.2 (später X3L2) Unterausschuss und später durch den für Unterausschuß X3 genannt. 2.4 Arbeitsgruppe (jetzt INCITS ). Die ASA wurde die Vereinigten Staaten von Amerika Standards Institute (USASI) und schließlich das American National Standards Institute (ANSI).

Mit den anderen Sonderzeichen und Steuerzeichen ausgefüllt, ASCII wurde als ASA X3.4-1963 veröffentlicht, 28 Codepositionen zu verlassen , ohne zugewiesene Bedeutung, für die zukünftige Standardisierung reserviert, und einen nicht zugeordneten Steuercode. Es war , ob eine Debatte zu der Zeit sollte es mehr Steuerzeichen anstatt der Kleinbuchstaben. Die Unentschlossenheit dauerte nicht lange: Im Mai 1963 werden die CCITT - Arbeitsgruppe an der New Telegraph Alphabet Kleinbuchstabe zuweisen vorgeschlagen Sticks 6 und 7 und die Internationale Organisation für Standardisierung im Oktober TC 97 SC 2 gestimmt aufzunehmen , um die Änderung in ihre Norm - Entwurf . Die X3.2.4 Arbeitsgruppe stimmte seine Zustimmung für die Änderung ASCII an seinem Mai 1963 Sitzung. Lokalisieren der Kleinbuchstaben in Stöcke 6 und 7 veranlaßt , die Zeichen aus dem oberen Gehäuse durch ein einziges Bit im Bitmuster unterscheiden, die vereinfachte Groß- und Kleinschreibung Zeichenanpassung und die Konstruktion von Tastaturen und Druckern.

Der X3 Komitee andere Änderungen, einschließlich andere neue Charaktere (die Klammer und vertikalen Balken Zeichen), einige Steuerzeichen Umbenennung (SOM wurde Anfang Header (SOH)) und die Bewegung oder andere zu entfernen (RU entfernt wurde). ASCII wurde anschließend als USAS X3.4-1967 aktualisiert, dann USAS X3.4-1968, ANSI X3.4-1977 und schließlich ANSI X3.4-1986.

Revisionen des ASCII-Standard:

  • ASA X3.4-1963
  • ASA X3.4-1965 (genehmigt, aber nicht veröffentlicht, dennoch verwendet von IBM 2260 und 2265 Display - Stationen und IBM 2848 Display Control)
  • USAS X3.4-1967
  • USAS X3.4-1968
  • ANSI X3.4-1977
  • ANSI X3.4-1986
  • ANSI X3.4-1986 (R1992)
  • ANSI X3.4-1986 (R1997)
  • ANSI INCITS 4-1986 (R2002)
  • ANSI INCITS 4-1986 (R2007)
  • ANSI INCITS 4-1986 (R2012)

Im X3.15 Standard, auch der X3 Ausschuß behandelt wie ASCII übertragen werden soll ( am wenigsten signifikantes Bit zuerst), und wie es sollte auf Lochstreifen aufgezeichnet werden. Sie schlugen vor , einen 9-Spur - Standard für einen Magnetband, und versuchten , mit einigen umgehen Lochkarten Formaten.

Entwurfsüberlegungen

Bitbreite

Der X3.2 Unterausschuss entworfen ASCII auf der Grundlage der früheren Fernschreiber Codierungssysteme. Wie andere Zeichenkodierungen spezifiziert ASCII eine Entsprechung zwischen digitalen Bitmustern und Zeichensymbole (dh Grapheme und Steuerzeichen ). Auf diese Weise können digitale Geräte miteinander kommunizieren und zu verarbeiten, zu speichern, und die Kommunikation zeichenorientierten Informationen wie Sprache geschrieben. Vor ASCII entwickelt wurde, enthielten die Codierungen im Einsatz 26 alphabetische Zeichen, 10 Ziffern und 11 bis 25 spezielle Grafiksymbole. Um alle diese und Steuerzeichen kompatibel mit dem Comité Consultatif Internationale Téléphonique et Télégraphique (CCITT) Internationale Telegraph Alphabet No. 2 (ITA2) Standard 1924, Fieldata (1956), und Anfang EBCDIC (1963), mehr als 64 Codes waren erforderlich für ASCII.

ITA2 waren wiederum auf der Basis der 5-Bit - Telegraphen - Code Émile Baudot 1870 erfunden und 1874 patentiert.

Der Ausschuss diskutierte die Möglichkeit einer Verschiebefunktion (wie in ITA2 ), die mehr als 64 - Codes erlauben würde , durch A dargestellt werden Sechs-Bit - Code . In einem verschobenen Code, bestimmen einige Zeichencodes Auswahl zwischen den Optionen für die folgenden Zeichencodes. Sie ermöglicht kompakte Codierung, ist jedoch weniger zuverlässig für die Datenübertragung , wie ein Fehler des Verschiebungscode typischerweise bei der Übertragung von unlesbaren einen langen Teil des Getriebes bildet. Der Normenausschuss entschied sich gegen Verschiebung und so ASCII mindestens einen Sieben-Bit - Code erforderlich.

Der Ausschuss prüfte einen Acht-Bit - Code, da acht Bits ( Bytes ) würden zwei Vier-Bit - Muster ermöglichen, effizient zwei Ziffern mit codieren binär codierten Dezimal . Allerdings wäre es für alle Datenübertragungen benötigen acht Bits zu senden , wenn sieben ausreichen könnte. Der Ausschuß stimmte einen Sieben-Bit - Code zu verwenden , um Kosten zu minimieren mit Datenübertragung verbunden. Da perforiertes Band zu dem Zeitpunkt acht Bits in einer Stellung aufnehmen könnte, ist es auch für eine erlaubte Paritätsbit für die Fehlerprüfung , falls gewünscht. Acht-Bit - Maschinen (mit Oktetts als nativer Datentyp) , die nicht Parität verwendet hat typischerweise das achte Bit auf 0 Bei einigen Druckern eingestellt Prüfung wurde das High - Bit verwendet , damit Kursivdruck.

Interne Organisation

Der Code selbst wurde so strukturiert, dass die meisten Steuercodes zusammen waren und alle grafischen Codes zusammen waren, zur leichteren Identifizierung. Die ersten beiden so genannten ASCII - Sticks (32 Positionen) wurden für die Steuerzeichen reserviert. Der „Raum“ Charakter hatte , bevor Grafiken zu kommen , um das Sortieren zu erleichtern, so wurde es Position 20 hex ; aus dem gleichen Grund, häufig viele Sonderzeichen als Trennzeichen verwendet wurden vor Ziffern platziert. Der Ausschuß beschloss , war es wichtig , zu unterstützen Groß 64 Zeichen Alphabete und wählte ASCII - Muster , so dass es leicht zu einem brauchbaren 64-Zeichensatz von grafischen Codes reduziert werden könnte, wie es in der Geographie Dezember Sixbit Code (1963). Kleinbuchstaben wurden deshalb nicht mit Groß verschachtelt. Um Optionen für Kleinbuchstaben und anderen Grafiken zu halten, die besonderen und numerischen Codes wurden vor den Buchstaben angeordnet sind , und der Buchstabe A in Position 41 platziert hex den Entwurf der entsprechenden britischen Norm entsprechen. Die Ziffern 0-9 sind mit dem Präfix 011, aber die verbleibenden 4 Bits entsprechen die jeweiligen Werte in binären, wodurch Umwandlung mit binärcodierten dezimalen unkompliziert.

Viele der nicht-alphanumerischen Zeichen wurden auf Schreibmaschinen ihrer verschobenen Position zu entsprechen , angeordnet sind ; eine wichtige Feinheit ist , dass diese auf beruhten mechanischen Schreibmaschinen, nicht elektrische Schreibmaschinen. Mechanische Schreibmaschinen folgten den Standardsatz durch die Remington No. 2 (1878), die erste Schreibmaschine mit einer Shift - Taste, und die verschobenen Werten 23456789-waren "#$%_&'() - early Schreibmaschinen weggelassen 0 und 1 , unter Verwendung von O (Großbuchstaben o ) und l (Kleinbuchstabe L ) statt, sondern 1!und 0)Paare wurden Standard einmal 0 und 1 gemeinsam wurden. So wird in ASCII !"#$%in dem zweiten Stab angeordnet wurden, Positionen 1-5, die die Ziffern entsprechen , 1-5 in dem benachbarten Stick. Die Klammern konnten nicht entsprechen 9 und 0 , aber, weil der Ort , an entsprechenden 0 durch den Raum Charakter genommen wurde. Dies wurde durch Entfernen gebracht _(Unterstrich) von 6 und die restlichen Zeichen verschoben wird , die zu vielen europäischen Schreibmaschinen entsprach , dass die Klammern mit platziert 8 und 9 . Diese Diskrepanz von Schreibmaschinen führte zu Bit-paarigen Tastaturen , insbesondere der ASR-33 , die den nach links verschobenen Layout ASCII entsprechend verwendet wird , nicht auf den traditionellen mechanischen Schreibmaschinen. Elektrische Schreibmaschinen, insbesondere die IBM Selectric (1961), verwendet ein etwas anderes Layout , die auf Computern Standard geworden ist - nach dem IBM - PC (1981), vor allem Modell M (1984) - und somit verschieben Werte für Symbole auf modernen Tastaturen nicht entsprechen so eng mit der ASCII - Tabelle wie früher Tastaturen haben. Das /?Paar geht auch auf die Nummer 2, und die ,< .>Paare wurden auf manchen Tastaturen verwendet (andere, einschließlich der Nummer 2, verschieben sich nicht ,(Komma) oder .(Punkt) , so konnten sie ohne unshifting in Großbuchstaben verwendet werden). Allerdings ASCII teilte das ;:Paar (aus dem Jahr No. 2), und neu geordnet mathematischen Symbolen (variieren Konventionen, allgemein -* =+) zu :* ;+ -=.

Einige gemeinsame Zeichen wurden nicht berücksichtigt, insbesondere ½¼¢, während ^`~als diakritische Zeichen für den internationalen Einsatz enthalten waren, und <>für die mathematische Verwendung zusammen mit den einfachen Linienzeichen \|(zusätzlich zu den gemeinsamen /). Das @ Symbol wurde nicht in Kontinentaleuropa verwendet und die Ausschuss erwartet , dass es durch eine akzentuierte ersetzt werden würde À in der Französisch - Variante, so dass die @ wurde in Position 40 platziert hex , direkt vor dem Buchstaben A.

Die Steuercodes gefühlt wesentlich für die Datenübertragung der Beginn der Nachricht (SOM), das Ende der Adresse (EOA), waren Ende der Nachricht (EOM), Ende der Übertragung (EOT), „wer du bist?“ (WRU), "bist du?" (RU), eine reservierte Gerätesteuerung (DC0), synchroner Leerlauf (SYNC), und die Bestätigung (ACK). Diese wurden positioniert , um die zu maximieren Hamming - Distanz zwischen ihren Bitmuster.

Charakter bestellen

ASCII-Code , um auch genannt wird ASCIIbetical Ordnung. Collation von Daten wird manchmal in dieser Reihenfolge durchgeführt und nicht als „Standard“ alphabetische Reihenfolge ( Sortierfolge ). Die wichtigsten Abweichungen in ASCII - Reihenfolge sind:

  • Alle Groß kommen vor Kleinbuchstaben; beispielsweise „Z“ vorangeht „a“
  • Ziffern und viele Satzzeichen kommen vor Buchstaben

Ein Zwischen Ordnung wandelt Großbuchstaben vor dem Vergleich ASCII-Werte in Kleinbuchstaben.

Zeichengruppen

Steuerzeichen

ASCII behält sich die ersten 32 Codes (Zahlen 0-31 dezimal) für Steuerzeichen : Codes ursprünglich nicht druckbaren Informationen darzustellen, sondern Geräte zu steuern (zB Drucker ) , die Verwendung von ASCII machen, oder zur Bereitstellung von Meta-Informationen über Daten diesen Strom , wie beispielsweise auf Magnetband gespeichert.

Zum Beispiel Zeichen 10 stellt die „Zeilenvorschub“ -Funktion (die einen Drucker bewirkt , dass sein Papier vorzurücken) und Zeichen 8 stellt „Backspace“. RFC  2822 bezeichnet Zeichen zu steuern , die nicht Wagenrücklauf, Zeilenvorschub oder umfasst Leerraum als nicht-Leerzeichen Steuerzeichen. Mit Ausnahme der Steuerzeichen , die elementaren leitungsorientierten Formatierungs verschreiben, ASCII definieren keinen Mechanismus zur Beschreibung der Struktur oder Aussehen von Text innerhalb eines Dokuments. Andere Systeme, wie Auszeichnungssprachen , Adresse Seite und Dokument - Layout und die Formatierung.

Der ursprüngliche ASCII - Standard nur kurze beschreibende Formulierungen für jedes Steuerzeichen verwendet. Die Zweideutigkeit dieses verursachte , war manchmal absichtlich, zum Beispiel wenn ein Charakter auf einem Terminal - Link etwas anders verwendet werden würde , als auf einem Datenstrom , und manchmal zufällig, zum Beispiel mit der Bedeutung von „löschen“.

Vermutlich die einflussreichsten einzelne Gerät über die Auslegung dieser Figuren war die ASR-33 ASR, der ein Druck Terminal mit einer verfügbaren war Papierbandleser / punch - Option. Papierband war ein sehr beliebtes Medium für die langfristigen Programmspeicher bis in der 1980er, weniger kostspielig und in gewisser Weise weniger zerbrechlich als Magnetband. Insbesondere die ASR-33 Maschinenbelegung Codes 17 (Control-Q, DC1, die auch als XON bekannt), 19 (Control-S, DC3, die auch als XOFF bekannt) und 127 ( Löschen ) wurde de facto - Standards. Das Modell 33 war ebenfalls bemerkenswert für die Aufnahme der Beschreibung der Steuerung-G (Code 7, BEL, was bedeutet , den Bediener hörbar ALERT) buchstäblich, da das Gerät eine tatsächliche Glocke enthalten ist, das es rang , wenn er ein Zeichen empfangen BEL. Da die keytop für die O - Taste auch ein Linkspfeilsymbol zeigten (von ASCII-1963, die anstelle von diesem Charakter hatten Strich ), eine regelwidrige Verwendung von Code 15 (Control-O, Shift In) interpretiert als „löscht vorherige Zeichen“ wurde auch von vielen frühen Time - Sharing - Systemen angenommen , aber schließlich wurde vernachlässigt.

Wenn ein Teletype 33 ASR mit der automatischen Lochstreifenleser ausgestattet , um eine Control-S (XOFF, eine Abkürzung für Sende - off) empfangen wird , verursacht er die Bandleser zu stoppen; Empfangen von Steuer-Q (XON „ übertragen auf“) die Bandleser wieder aufzunehmen verursacht wird . Diese Technik wurde von mehreren frühen Computer - Betriebssystemen als „Handshaking“ Signal hat einen Sender Übertragung Überlauf wegen drohender zu stoppen warnen; es bleibt bis heute in vielen Systemen als manuelle Ausgabesteuerungstechnik. Auf einigen Systemen Control-S behält seine Bedeutung , aber bei gedrückter Ctrl-Q durch ein zweites Steuer-S ersetzt Ausgabe fortzusetzen. Der ASR 33 könnte auch die Band punch zu starten und stoppen so konfiguriert werden , um Steuer-R (DC2) und Steuerungs T (DC4) eingesetzt werden ; auf einigen Einheiten mit dieser Funktion ausgestattet, war die entsprechenden Steuerzeichen Beschriftung auf der Tastenkappe über dem Buchstaben und TAPE TAPE ist.

Die Teletype- kann nicht den Kopf nach hinten verschieben, so dass es nicht einer Taste auf der Tastatur gelegt hat einen BS (Backspace) zu senden. Stattdessen gab es einen Schlüssel mit „rubout“ , dem Code gesendet 127 (DEL). Der Zweck dieses Schlüssels war Fehler in einer in der Hand getippt Papierband zu löschen: der Bediener eine Taste auf dem Band Stempel zu drücken hatte es wieder auf, dann die rubout geben, die alle Löcher gestanzt und ersetzt die Fehler mit einem Zeichen , das ignoriert werden sollte. Fernschreiber wurden für die weniger teuren Computer von häufig verwendeten Digital Equipment Corporation , so dass diese Systeme hatten verwenden , um die verfügbaren Schlüssel und damit den DEL - Code löschen das vorherige Zeichen. Aus diesem Grunde , DEC Video - Terminals (Standard) gesendet , um den DEL - Code für die Taste „Backspace“ markiert , während die Taste „Löschen“ markierte schickte eine Escape - Sequenz, während viele andere Endgeräte BS für die Rücktaste gesendet. Der Unix - Terminal - Treiber kann nur einen Code verwenden , zu sichern, dies zu BS könnte gesetzt oder DEL, aber nicht beide, in einer sehr langen Zeit des Ärgers führen , wo Sie es korrigieren mußten je nachdem , welchem Terminal Sie wurden mit (modernen Schalen mit readline- verstehen beide Codes). Die Annahme , dass keine Taste einen BS gesendet insipidus + H für andere Zwecke verwendet werden, wie beispielsweise einen Befehl „help“ in Emacs.

Viele weitere der Steuercodes wurden Bedeutungen ganz anders als ihre ursprünglichen gegeben. Das „Flucht“ Zeichen (ESC, Code 27), zum Beispiel, war ursprünglich andere Steuerzeichen als Literale zu ermöglichen , das Senden stattdessen ihre Bedeutung zu berufen. Dies ist die gleiche Bedeutung von „escape“ begegnet in URL - Kodierungen, C Sprache Strings und anderen Systemen , bei denen bestimmte Zeichen eine reservierte Bedeutung haben. Im Laufe der Zeit hat sich diese Bedeutung wurde kooptiert und änderte schließlich wurde. In der modernen Nutzung, ein ESC an das Endgerät gesendet zeigt in der Regel den Beginn einer Befehlsfolge in der Regel in Form eines sogenannten „ ANSI - Escape - Code “ (oder besser, eine „ Steuersequenz Introducer “) von ECMA-48 ( 1972) und seine Nachfolger, beginnend mit ESC durch ein „[“ (linke Klammer) Zeichen folgt. Ein ESC von dem Endgerät gesendet wird am häufigsten verwendet , als Out-of-Band - Charakter eine Operation verwendet zu beenden, wie in den TABG und vi Texteditoren . In grafischer Benutzeroberfläche (GUI) und Windowing - Systemen, ESC verursacht im Allgemeinen eine Anwendung ihre aktuelle Operation abzubrechen oder zu beenden (beenden) insgesamt.

Die inhärente Mehrdeutigkeit vieler Steuerzeichen, kombiniert mit ihrer historischen Nutzung, erstellt Probleme beim „Klartext“ Dateien zwischen Systemen zu übertragen. Das beste Beispiel hierfür ist das Newline Problem auf verschiedenen Betriebssystemen . Fernschreiber Maschinen erforderlich , dass eine Textzeile mit den beiden „Carriage Return“ beendet werden (die den Druckkopf an den Anfang der Zeile bewegt) und „Line Feed“ (die das Papier eine Zeile geht , ohne den Druckkopf bewegt). Der Name „Carriage Return“ kommt von der Tatsache , dass auf einer manuellen Schreibmaschine der Wagen die Papierhalte bewegt , während die Position , wo sich die Typenhebel das Band geschlagen blieb stationär. Der gesamte Wagen musste geschoben werden (wieder) nach rechts , um den linken Rand des Papiers für die nächste Zeile zu positionieren.

Dezember Betriebssysteme ( O / 8 , RT-11 , RSX-11 , RSTS , TOPS-10 , etc.) verwendet , um beiden Zeichen das Ende einer Zeile zu kennzeichnen , so daß die Konsolenvorrichtung (ursprünglich Fernschreiber ) funktionieren würde. Zu der Zeit , so genannten „Glas TTYs“ (später genannt CRTs oder Terminals) kam, wurde die Konvention so gut etabliert , dass die Abwärtskompatibilität erforderte die Konvention fortsetzt. Wenn Gary Kildall erstellt CP / M wurde er von einigen Kommandozeilen - Schnittstelle Konventionen verwendet inspiriert Dezember ‚s RT-11 . Bis zur Einführung von PC DOS 1981 IBM hatte keine Hand in das , weil ihre 1970er - Systemen verwendet EBCDIC anstelle von ASCII und sie wurden orientiert sich Punch-Karteneingang und Zeilendrucker ausgegeben , auf dem das Konzept der Wagenrücklauf war bedeutungslos Betrieb. IBM PC DOS (auch vermarktet MS-DOS von Microsoft) erbte die Konvention auf Grund auf lose basiert CP / M und Windows - erbte es von MS-DOS.

Leider führt das Ende einer Zeile unnötige Komplexität und Fragen zu markieren zwei Zeichen erforderlich ist, wie jedes Zeichen zu interpretieren , wenn sie allein angetroffen. Zur Vereinfachung Klartextdatenströme, einschließlich der Dateien, auf Multics verwendet Zeilenvorschub (LF) allein als Leitungsabschluss. Unix und Unix-artige Systeme und Amiga - Systeme nahmen diese Konvention von Multics. Die ursprünglichen Macintosh OS , Apple - DOS und ProDOS , auf der anderen Seite, verwendeten Wagenrücklauf (CR) allein als Leitungsabschluss; aber da Apple diese Betriebssysteme mit der Unix-basierten ersetzt macOS - Betriebssystem, verwenden sie jetzt Zeilenvorschub (LF) als auch. Die Radio Shack TRS-80 verwendet auch eine lone CR Linien zu beenden.

Computer auf die beigefügte ARPANET enthalten Maschinen mit Betriebssystemen wie TOPS-10 und TENEX CR-LF Zeilenenden verwenden, Maschinen ausgeführt werden Betriebssysteme wie Multics LF Zeilenenden verwendet wird , und Maschinen mit Betriebssystemen wie OS / 360 , die Linien dargestellt als eine Zeichenzahl durch die Zeichen der Zeile und das verwendet gefolgt EBCDIC eher als ASCII. Das Telnet - Protokoll definiert eine ASCII „ Network Virtual Terminal “ (NVT), so dass die Verbindungen zwischen Hosts mit unterschiedlichen Zeilenende - Konventionen und Zeichensätze durch Senden eines Standard - Textformat über das Netzwerk unterstützt werden könnte. Telnet verwendet ASCII zusammen mit CR-LF Zeilenenden und Software andere Konventionen würde zwischen den lokalen Konventionen und der NVT übersetzen. Der File Transfer Protocol angenommen das Telnet - Protokoll, einschließlich der Verwendung des Network Virtual Terminal, für den Einsatz , wenn Befehle und die Übertragung von Daten im Standard - ASCII - Modus übertragen. Dies erhöht die Komplexität Implementierungen dieser Protokolle, und auf andere Netzwerkprotokollen, wie diejenigen , die für E-Mail und das World Wide Web, auf Systeme nicht den CR-LF Zeilenende - Konvention des NVT verwenden.

Der PDP-6 - Monitor, und seine PDP-10 Nachfolger TOPS-10, verwendete ctrl-Z (SUB) als End-of-file Anzeige für die Eingabe von einem Terminal. Einige Betriebssysteme wie CP / M nachverfolgt Dateilänge nur in Einheiten von Plattenblöcken und verwendeten Strg-Z das Ende des eigentlichen Textes in der Datei zu markieren. Aus diesen Gründen EOF oder End-of-Datei wurde umgangssprachlich und konventionell als verwendetes Drei-Buchstaben - Akronym für Strg-Z statt substituieren. Der End-of-Textcode ( ETX ), auch bekannt als Strg-C , war ungeeignet für eine Vielzahl von Gründen, bei der Verwendung von Z als Steuercode eine Datei zu Ende ist analog zu dem Alphabet endet und dient als sehr praktisch Merkhilfe . Eine historisch häufig und immer noch weit verbreitet Konvention verwendet die ETX - Code Konvention ein Programm über einen Eingangsdatenstrom zu unterbrechen und zu stoppen, in der Regel aus einer Tastatur.

In C - Bibliothek und Unix - Konventionen, die Null - Zeichen wird beenden Text verwendeten Zeichenketten ; so nullterminierten Strings können in Abkürzung als ASCIZ oder ASCIIZ bekannt sein, wo hier Z für „Null“ steht.

Binär Oktober Dezember Verhexen Abkürzung Name (1967)
1963 1965 1967
000 0000 000 0 00 NULL NUL ^@ \0 Null
000 0001 001 1 01 SO M SOH ^A Beginn der Überschrift
000 0010 002 2 02 EOA STX ^B Textanfang
000 0011 003 3 03 EOM ETX ^C Ende des Texts
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
000 1001 011 9 09 HT / SK HT ^I \t Horizontal Tab
000 1010 012 10 0A LF ^J \n Zeilenvorschub
000 1011 013 11 0B VTAB VT ^K \v Vertikaltabulator
000 1100 014 12 0C FF ^L \f Form Feed
000 1101 015 13 0D CR ^M \r Carriage Return
000 1110 016 14 0E SO ^N Shift Out
000 1111 017 fünfzehn 0F SI ^O Verschiebung in
001 0000 020 16 10 DC0 DLE ^P Data Link Flucht
001 0001 021 17 11 DC1 ^Q Device Control 1 (oft XON )
001 0010 022 18 12 DC2 ^R Device Control 2
001 0011 023 19 13 DC3 ^S Device Control 3 (oft XOFF )
001 0100 024 20 14 DC4 ^T Device Control 4
001 0101 025 21 fünfzehn ERR NAK ^U Negative Acknowledgement
001 0110 026 22 16 SYNC SYN ^V synchrone Idle
001 0111 027 23 17 LEM ETB ^W Ende des Übertragungsblocks
001 1000 030 24 18 S0 KÖNNEN ^X Stornieren
001 1001 031 25 19 S1 EM ^Y Ende des Mittels
001 1010 032 26 1A S2 SS SUB ^Z Ersatz
001 1011 033 27 1B S3 ESC ^[ \e Flucht
001 1100 034 28 1C S4 FS ^\ Die Datei Separator
001 1101 035 29 1D S5 GS ^] Gruppe Separator
001 1110 036 30 1E S6 RS ^^ Die Bilanz Separator
001 1111 037 31 1F S7 UNS ^_ Einheit Separator
111 1111 177 127 7F DEL ^? Löschen

Andere Darstellungen können durch eine spezielle Ausrüstung, zum Beispiel verwendet werden ISO 2047 Grafiken oder hexadezimale Zahlen.

druckbare Zeichen

Codes 20 hex bis 7E hex , als druckbare Zeichen bekannt ist , stellen Buchstaben, Ziffern, Satzzeichen und einige verschiedene Symbole. Es gibt 95 druckbare Zeichen insgesamt.

Code 20 hex , der „Raum“ Charakter bezeichnet den Abstand zwischen den Worten, wie sie in der Leertaste einer Tastatur erzeugt werden . Da der Raum Charakter eine unsichtbare Grafik (eher als ein Steuerzeichen) in Betracht gezogen wird , wird es in der Tabelle unten statt im vorhergehenden Abschnitt aufgeführt.

Code 7F hex entspricht die nicht druckbaren „Löschen“ (DEL) Steuerzeichen und wird daher von diesem Diagramm weggelassen; es wird im vorherigen Abschnitt des Diagramms bedeckt. Frühere Versionen von ASCII verwendet die oben anstelle der Pfeil caret (5E hex ) und der Pfeil nach links anstelle des Strich (5F hex ).

Binär Oktober Dezember Verhexen Glyph
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 EIN
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 ein
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 | ~

Zeichensatz

ASCII (1977/1986)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _EIN _B _C _D _E _F
0_
0
NUL
0000
SOH
0001
STX
0002
ETX
0003
EOT
0004
ENQ
0005
ACK
0006
BEL
0007
BS
0008
HT
0009
LF
000A
VT
000B
FF
000C
CR
000D
SO
000E
SI
000F
1_
16
DLE
0010
DC1
0011
DC2
0012
DC3
0013
DC4
0014
NAK
0015
SYN
0016
ETB
0017
CAN
0018
EM
0019
SUB
001A
ESC
001B
FS
001C
GS
001D
RS
001E
US
001F
2_
32
SP
0020
!
0021
"
0022
#
0023
$
0.024
%
0025
&
0026
'
0027
(
0028
)
0029
*
002A
+
002B
,
002C
-
002D
.
002E
/
002F
3_
48
0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
:
003A
;
003B
<
003C
=
003D
>
003E
?
003F
4_
64
@
0040
A
0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
I
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
5_
80
P
0050
Q
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A
[
005B
\
005C
]
005D
^
005E
_
005F
6_
96
`
0060
ein
0061
b
0062
c
0063
d
0064
e
0065
f
0066
g
0067
h
0068
i
0069
j
006A
k
006B
l
006C
m
006D
n
006E
o
006F
7_
112
p
0070
q
0071
r
0072
s
0073
t
0074
u
0075
v
0076
w
0077
x
0078
y
0079
z
007A
{
007B
|
007C
}
007D
~
007E
DEL
007F

  Brief    Nummer    Interpunktion    Symbol  Andere  undefined  von 1963 Version geändert      

Benutzen

ASCII wurde zum ersten Mal kommerziell während 1963 als Sieben-Bit - Code für Fernschreiber verwendet American Telephone & Telegraph ‚s TWX (Fernschreiber eXchange) -Netzwerk. TWX verwendete ursprünglich den früheren Fünf-Bit - ITA2 , die auch von dem konkurrierenden verwendet wurden Telex Fernschreiber System. Bob Bemer eingeführt Features wie die Escape - Sequenz . Sein britischer Kollege Hugh McGregor Ross half , diese Arbeit zu popularisieren - nach Bemer, „so sehr, dass der Code, der ASCII war zu werden , wurde zum ersten Mal der gerufene Bemer-Ross - Code in Europa“. Aufgrund seiner umfangreichen Arbeiten auf ASCII hat Bemer „der Vater von ASCII“ genannt worden.

Am 11. März 1968 US - Präsident Lyndon B. Johnson den Auftrag , dass alle von den Vereinigten Staaten Bundesregierung Unterstützung ASCII gekauft Computer, die besagt:

Ich habe auch Empfehlungen des genehmigten Secretary of Commerce für die Aufzeichnung des Standard Code for Information Interchange auf Magnetbändern und Papierbänder in Bezug auf Standards , wenn sie in Computeroperationen verwendet werden. Alle Rechner und verwandte Geräte - Konfigurationen in das entgegengebrachte Bundesregierung Inventar auf und nach dem 1. Juli 1969 müssen die Fähigkeit haben , den Standard Code for Information Interchange und die Formate von der Magnetband und Papierband Standards vorgeschrieben zu verwenden , wenn diese Medien verwendet werden.

ASCII war die häufigste Zeichencodierung auf dem World Wide Web , bis Dezember 2007, als UTF-8 - Codierung übertroffen es; UTF-8 ist rückwärts mit ASCII kompatibel.

Varianten und Ableitungen

Als Computer - Technologie in der ganzen Welt verbreitet, verschiedene Standardisierungsgremien und Unternehmen entwickelten viele Variationen von ASCII die Expression von nicht-englischen Sprachen zu erleichtern , die römisch-basierte Alphabete verwendet. Man könnte Klasse einige dieser Variationen als „ ASCII - Erweiterungen “, obwohl einige Missbrauch, der Begriff alle Varianten darstellen, einschließlich derer, die nicht ASCII - Charakter-Karte in der 7-Bit - Bereich erhalten. Darüber hinaus haben die ASCII - Erweiterungen auch als ASCII falsch gekennzeichnet worden.

7-Bit-Codes

Von früh in ihrer Entwicklung wurde ASCII soll nur eine von mehreren nationalen Varianten eines internationalen Zeichencode-Standard sein.

Andere internationalen Normungsgremien haben Zeichenkodierungen ratifizierten wie ISO 646 (1967) , die gleich oder nahezu identisch mit ASCII, mit Erweiterungen für Zeichen außerhalb des englischen Alphabets und Symbole außerhalb der Vereinigten Staaten, wie zum Beispiel das Symbol für die des Vereinigten Königreichs verwendet Pfund Sterling (£). Fast jedes Land benötigt eine angepasste Version von ASCII, da ASCII die Bedürfnisse der nur den USA und einigen anderen Ländern geeignet. Zum Beispiel hatte Kanada seine eigene Version , die Französisch - Zeichen unterstützt.

Viele andere Länder entwickelten Varianten von ASCII auf nicht-englische Buchstaben (zB é , ñ , ß , £ ), Währungssymbole (zB £ , ¥ ) usw. Siehe auch YUSCII (Jugoslawien).

Es würde die meisten Zeichen gemeinsam haben, aber auch andere lokal nützliche Zeichen zu mehreren zuweisen Codepunkte für „nationale Zwecke“ reserviert. Die vier Jahre , jedoch die für die nationalen Gebrauch Zeichen zwischen der Veröffentlichung von ASCII-1963 und ISO erster Annahme einer internationalen Empfehlung verursachten Entscheidungen des ASCII während 1967 vergangen scheinen de - facto - Standards für die Welt zu sein, was zu Verwirrung und Unvereinbarkeit einmal anderen Länder begann ihre eigenen Zuweisungen an diese Codepunkte zu machen.

ISO / IEC 646, wie ASCII ist ein 7-Bit-Zeichensatz. Es spielt keine zusätzlichen Codes zur Verfügung stellen, so dass die gleichen Codepunkten unterschiedliche Zeichen in verschiedenen Ländern codiert. Escape-Codes wurden, um anzuzeigen, definiert, die nationale Variante auf ein Stück Text angewandt, aber sie waren selten verwendet, so war es oft unmöglich, zu wissen, welche Variante zu arbeiten und damit die Zeichen ein Code dargestellt, und im allgemeinen, text- Verarbeitungssysteme könnten ohnehin nur mit einer Variante bewältigen.

Da die Klammer und Klammerzeichen von ASCII wurden „nationale Verwendung“ Codepunkte zugeordnet, die für die Umlaute in anderen nationalen Varianten von ISO / IEC 646, ein Deutsch, Französisch oder Schwedisch, usw. Programmierer mit ihrer nationalen Variante von ISO verwendet wurden / IEC 646, statt ASCII hatte, zu schreiben und so lesen, etwas wie

ä aÄiÜ = 'Ön'; ü

anstatt

{ a[i] = '\n'; }

C trigraphs wurden geschaffen , dieses Problem zu lösen , ANSI C , obwohl ihre späte Einführung und uneinheitliche Umsetzung in Compilern deren Verwendung beschränkt. Viele Programmierer hielten ihre Computer auf US-ASCII, so Klartext in Schwedisch, Deutsch usw. (zum Beispiel in E-Mail oder Usenet ) enthielt „{,}“ und ähnliche Varianten in der Mitte von Worten, etwas jener Programmierer bekamen gewöhnt an. Zum Beispiel fragt ein schwedischer Programmierer eine andere Programmierer Mailing , wenn sie für das Mittagessen gehen sollte, könnte bekommen „N {jag har sm | rg} sar“ , wie die Antwort, die „Nä jag har smörgåsar“ , was bedeutet „Nein , ich habe sein sollte bekam Sandwiches".

8-Bit-Codes

Schließlich , wie 8-, 16- und 32-Bit (und später 64-Bit ) Computer begannen zu ersetzen , 12- , 18- und 36-Bit - Computer als die Norm, wurde es üblich , eine 8-Bit - Byte zu verwenden , die jeweils zum Speichern von Zeichen im Speicher, die Möglichkeit für ausgedehnte, 8-Bit - ASCII Verwandte bereitzustellen. In den meisten Fällen diese als wahre Erweiterungen von ASCII, so dass das ursprünglichen Charakter-Mapping intakt entwickelt, aber das Hinzufügen von zusätzlichen Zeichendefinitionen nach den ersten 128 (dh 7-Bit - Zeichen).

Codierungen sind ISCII (Indien), VISCII (Vietnam). Obwohl diese Codierungen manchmal als ASCII bezeichnet werden, ist wahr ASCII streng nur durch den ANSI - Standard definiert.

Die meisten frühen Heimcomputer - Systeme entwickelt , um ihre eigenen 8-Bit - Zeichensätze enthalten , Strichzeichnung und Spiel Glyphen, und in einigen oder allen der Steuerzeichen 0-31 mit mehr Grafiken oft gefüllt. Kaypro CP / M Computer die „oberen“ 128 Zeichen für das griechische Alphabet verwendet.

Der PETSCII Code Commodore International für ihre gebrauchten 8-Bit - Systeme ist wahrscheinlich einzigartig unter den post-1970 - Codes in auf ASCII-1963 basiert, anstelle der häufigeren ASCII-1967, wie auf der gefunden ZX Spectrum Computer. Atari 8-Bit - Computer und Galaksija Computer auch ASCII - Varianten verwendet.

Der IBM PC definierte Codeseite 437 , die die Steuerzeichen mit grafischen Symbolen wie ersetzt Smiley , und kartiert zusätzliche graphische Zeichen auf die oberen 128 Positionen. Betriebssysteme wie DOS unterstützten diese Codepages und Hersteller von IBM - PC unterstützten sie in der Hardware. Digital Equipment Corporation entwickelt , um den Multinationale Zeichensatz (DEC-MCS) für den Einsatz in dem beliebten VT220 - Terminal als eine der ersten Erweiterungen entwickelt , um mehr für internationale Sprachen als für Blockgrafik. Der Macintosh definiert Mac OS Roman und Postscript definiert auch einen Satz, beide enthalten sowohl internationale Buchstaben und typographische Satzzeichen anstelle von Grafiken, eher wie moderne Zeichensätze.

Die ISO / IEC 8859 Standard (abgeleitet von DEC-MCS) , die schließlich einen Standard, der die meisten Systeme kopiert (zumindest so genau wie sie ASCII kopiert, aber mit vielen Substitutionen). Eine beliebte weitere Erweiterung entworfen von Microsoft, Windows 1252 (oft als falsch bezeichnete ISO-8859-1 ), hinzugefügt , um die typographischen Satzzeichen für die traditionellen Textdruck benötigt. ISO-8859-1, Windows 1252, und der ursprüngliche 7-bit ASCII waren die am häufigsten verwendeten Zeichencodierungen , bis 2008 , als UTF-8 häufiger worden.

ISO / IEC 4873 eingeführt 32 zusätzliche Steuercodes in dem definierten 80-9F hexadezimalen Bereich als Teil der Verlängerung die 7-Bit - ASCII - Codierung ein 8-Bit - System zu werden.

Unicode

Unicode und ISO / IEC 10646 Universal Character Set (UCS) haben eine viel breitere Palette von Charakteren und ihre verschiedenen Codierungsformen haben damit begonnen, ISO / IEC 8859 und ASCII schnell in vielen Umgebungen zu verdrängen. Während ASCII auf 128 Zeichen begrenzt ist, und die Unicode unterstützen UCS mehr Zeichen , die durch die Begriffe der eindeutigen Identifikationstrenn (unter Verwendung von natürlichen Zahlen bezeichneten Codepunkte ) und die Codierung (bis 8-, 16- oder 32-Bit - Binär - Format, die so genannten UTF-8 , UTF-16 und UTF-32 ).

ASCII wurde in das Unicode (1991) Charakter als die ersten 128 Symbole gesetzt eingebaut, so dass die 7-Bit - ASCII - Zeichen , die gleichen numerischen Codes in beiden Sätzen. Dies ermöglicht UTF-8 werden rückwärts kompatibel mit 7-Bit - ASCII, wie eine UTF-8 - Datei nur ASCII - Zeichen enthält , in eine ASCII - Datei identisch ist , die gleiche Abfolge von Zeichen enthält. Noch wichtiger ist , Vorwärtskompatibilität wird als Software gewährleistet , dass nur 7-Bit - ASCII - Zeichen als Sonder erkennt und ändert nicht Bytes mit dem höchsten Bit gesetzt (so oft geschieht , um 8-Bit - ASCII - Erweiterungen zu unterstützen wie ISO-8859-1) wird UTF-8 - Daten unverändert erhalten.

Siehe auch

Anmerkungen

Verweise

Weiterführende Literatur

Externe Links