ASCII
ASCII ist ein Akronym für "American Standard Code for Information Interchange" (dt.: Amerikanischer Standard-Code für den Informationsaustausch), der als ANSI-Standard X3.4 im Jahr 1968 eingeführt wurde. Als Vater des ASCII-Standards gilt Bob Bemer.Er beschreibt einen Zeichensatz, der auf dem lateinischen Alphabet basiert, wie er im modernen Englisch und von Computern und anderen Kommunikationseinrichtungen zur Textdarstellung verwendet wird. Er beschreibt als Code (wie auch EBCDIC von IBM) die Zuordnung von digital dargestellten Ganzzahlen zu den in der normalen Schriftsprache geschriebenen Zeichen. Mit Hilfe des Codes können digitale Geräte codierte Informationsinhalte senden, empfangen und verarbeiten.
Schriftzeichen | Dezimal | Hexadezimal | Binärzeichen |
---|---|---|---|
A | 65 | x41 | (0)1000001 |
B | 66 | x42 | (0)1000010 |
C | 67 | x43 | (0)1000011 |
... | ... | ... | ... |
ASCII beschreibt einen Sieben-Bit-Code. Dieser Code verwendet binäre Ganzzahlen, die mit sieben binären Ziffern dargestellt werden (entspricht 0 bis 127), um Informationen darzustellen. Schon früh haben Computer mehr als 7 Bits, oft mindestens Acht-Bit-Zahlenworte, verwendet - das achte Bit kann für Fehlerkorrekturzwecke (Paritätsbit) auf den Kommunikationsleitungen oder für andere Steuerungsaufgaben verwendet werden.
Fortschritte in der Technik und die internationale Verbreitung erzeugten eine Reihe von Variationen und Erweiterungen des Codes, die nicht alle untereinander kompatibel sind und nicht für alle Systeme gleichermaßen verwendet werden können.
Code | -0 | -1 | -2 | -3 | -4 | -5 | -6 | -7 | -8 | -9 | -A | -B | -C | -D | -E | -F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0- | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
1- | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US |
2- | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | |||
. | / | |||||||||||||||
3- | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4- | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
5- | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \\ | ] | ^ | _ |
6- | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
7- | p | q | r | s | t | u | v | w | x | y | z | { |
Die ersten 32 Zeichencodes in ASCII sind für Steuerzeichen (control character) reserviert. Dies sind Zeichen, die keine Schriftzeichen darstellen, sondern die zur Steuerung von solchen Geräten dienen (oder dienten), die ASCII verwenden (etwa Drucker). Steuerzeichen sind beispielsweise der Wagenrücklauf für den Zeilenumbruch oder Bell (die Glocke); ihre Definition ist historisch begründet.
Code 0x20 (SP) ist das Leerzeichen (engl. space oder blank), welches in einem Text als Leer- und Trennzeichen zwischen Wörtern verwendet und auf der Tastatur durch die große breite Leertaste erzeugt wird. Die Codes 0x21 bis 0x7E sind alle druckbaren Zeichen, die sowohl Buchstaben, Ziffern und Satzzeichen (siehe Tabelle) enthalten. Code 0x7F (alle sieben Bits auf eins gesetzt) ist ein Sonderzeichen, welches auch als "Löschzeichen" bezeichnet wird (DEL). Der Code wurde früher wie ein Steuerzeichen verwendet, um auf Papierstreifen oder Lochmaschinen ein bereits gelochtes Zeichen nachträglich durch das Setzen aller Bits, d.h. durch Auslochen aller sieben Markierungen, löschen zu können.
ASCII enthält keine diakritischen Zeichen, die in vielen Sprachen auf der Basis des lateinischen Alphabets verwendet werden.
Der internationale Standard ISO 646 (1972) war der erste Versuch, dieses Problem anzugehen, was allerdings zu Kompatibilitätsproblemen führte. Er ist immer noch ein Sieben-Bit-Code und weil keine anderen Codes verfügbar waren wurden einige Codes in neuen Varianten verwendet.
So ist etwa der ASCII-Code 93 für die rechte eckige Klammer (]) in der deutschen Zeichensatz-Variante ISO 646-DE durch das große U mit Diärese (Umlaut) (Ü) und in der dänischen Variante ISO 646-DK durch das große A mit Ring (Krouzek) (Å) ersetzt. Bei der Programmierung mussten die eckigen Klammern durch die entsprechenden nationalen Sonderzeichen ersetzt werden.
Bei späteren Standards wie ISO 8859 wurden diese Probleme reduziert, indem man auf acht Bit, also 256 Zeichen überging. Dabei existieren mehrere Varianten, zum Beispiel ISO 8859-1 für die westeuropäischen Sprachen. Viele ältere Programme, die das achte Bit für eigene Zwecke verwendeten, konnten damit nicht umgehen. Sie wurden im Laufe der Zeit oft den neuen Erfordernissen angepasst.
Unicode (in seinem Zeichenvorat identisch mit ISO 10646) verwendet bis zu 32 bit pro Zeichen und könnte somit über vier Milliarden verschiedene Zeichen unterscheiden; dies wird jedoch auf etwa 1 Million erlaubte Code-Werte eingeschränkt. Damit können alle bislang von Menschen verwendeten Schriftzeichen dargestellt werden, sofern sie denn in den Unicode-Standard aufgenommen wurden. UTF-8 ist eine Kodierung von Unicode, die mit der 8-bit-Architektur kompatibel ist. Sieben-Bit-Varianten müssen nicht mehr verwendet werden - dennoch kann Unicode auch in 7 Bit kodiert werden: UTF-7.
ASCII enthält nur wenige Zeichen, die allgemein verbindlich zur Formatierung oder Strukturierung von Text verwendet werden. Hierzu zählen insbesondere der Zeilenvorschub (Linefeed), der Wagenrücklauf (Carriage Return), der horizontale Tabulator, Form Feed und der vertikale Tabulator. Die Verwendung weiterer Zeichen zur Textformatierung ist bei verschiedenen Anwendungprogrammen zur Textverarbeitung unterschiedlich. Zur Formatierung von Text werden auch Markup-Codes verwendet.
In der Kryptographie werden Codes zusätzlich verschlüsselt, damit Informationen nur von berechtigten Empfängern entschlüsselt und genutzt werden können.
Siehe auch
Erweiterungen