>Info zum Stichwort ASCII | >diskutieren | >Permalink 
يادداشت schrieb am 15.8. 2006 um 14:56:46 Uhr über

ASCII

ASCII
aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von NUL)
Wechseln zu: Navigation, Suche

ASCII (American Standard Code for Information Interchange, alternativ US-ASCII, oft [æski] ausgesprochen) ist eine siebenbittige Zeichenkodierung und bildet die US-Variante von ISO 646 sowie die Grundlage für spätere mehrbittige Zeichensätze und -kodierungen.

ASCII wurde im Jahr 1967 erstmals als Standard veröffentlicht und im Jahr 1986 zuletzt aktualisiert. Die Zeichenkodierung definiert 33 nicht-druckbare, sowie die folgenden 95 druckbaren Zeichen, beginnend mit dem Leerzeichen.

!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
`abcdefghijklmnopqrstuvwxyz{|}~

Die Zeichen umfassen das lateinische Alphabet in Groß- und Kleinschreibung, die zehn indo-arabischen Ziffern, sowie einige Satz- und Steuerzeichen. Der Zeichenvorrat entspricht weitgehend dem einer Tastatur oder Schreibmaschine für die englische Sprache. In Computern und anderen elektronischen Geräten, die Text darstellen, wird dieser in der Regel gemäß ASCII oder abwärtskompatibel (z.B. ISO 8859, UTF-8) dazu gespeichert.
Inhaltsverzeichnis
[Verbergen]

* 1 Kodierung
* 2 Geschichte
* 3 Zusammensetzung
* 4 Erweiterungen
* 5 Kompatible Zeichenkodierungen
o 5.1 Kodierungen mit fester Länge (Auswahl)
o 5.2 Kodierungen mit variabler Länge
* 6 Siehe auch
* 7 Weblinks

Kodierung

Jedem Zeichen wird ein Bitmuster aus 7 Bit zugeordnet. Da jedes Bit zwei Werte annehmen kann gibt es 27 = 128 verschiedene Bitmuster, die auch als die ganzen Zahlen 0-127 interpretiert werden können.

In anderen als der englischen Sprache verwendete Sonderzeichen - wie beispielsweise die deutschen Umlaute - können mit dem 7 Bitcode nicht vollständig dargestellt werden; hierfür würden 8 bis 16 Bit benötigt. Die Datenverarbeitung benutzt in der Regel 8 Bit oder ein Byte als kleinste Einheit zur Datenspeicherung. Das hochwertigste Bit in jedem Byte ist bei Verwendung des ASCII auf den Wert 0 gesetzt.
Die Buchstaben A, B und C als Sieben-Bit-Code Schriftzeichen Dezimal Hexadezimal Binär
A 65 x41 (0)1000001
B 66 x42 (0)1000010
C 67 x43 (0)1000011
… … … …

Schon früh haben Computer mehr als 7 Bits, oft mindestens Acht-Bit-Zahlenworte, verwendetdas achte Bit kann für Fehlerkorrekturzwecke (Paritätsbit) auf den Kommunikationsleitungen oder für andere Steuerungsaufgaben verwendet werden. Heute wird es aber fast immer zur Erweiterung von ASCII auf einen 8-Bit-Code verwendet. Diese Erweiterungen sind mit dem ursprünglichen ASCII weitgehend kompatibel, so dass alle im ASCII definierten Zeichen auch in den verschiedenen Erweiterungen durch die gleichen Bitmuster kodiert werden. Die Erweiterungen unterscheiden sich je nach Hard- und Software und sind länderspezifisch.


Geschichte

Eine der frühsten Formen der Kodierung war der Morsecode. Der Morsecode wurde mit der Einführung von Fernschreibern aus den Telegrafennetzen verdrängt und durch den Baudot-Code und Murray Code ersetzt. Vom Fünf-Bit-Murray-Code zum Sieben-Bit-ASCII war es dann nur noch ein kleiner Schritt - auch ASCII wurde zuerst für bestimmte amerikanische Fernschreiber-Modelle, wie den Teletype ASR33, eingesetzt. In den Anfängen des Computerzeitalters entwickelte sich ASCII zum Standard-Code für Schriftzeichen. Als Beispiel wurden viele Bildschirme (z. B. VT100) und Drucker nur mit ASCII angesteuert.

ASCII diente ursprünglich der Darstellung von Schriftzeichen der englischen Sprache. Die erste Version, noch ohne Kleinbuchstaben und mit kleinen Abweichungen vom heutigen ASCII, entstand im Jahr 1963. Im Jahr 1968 wurde dann der bis heute gültige ASCII festgelegt. Um später auch Sonderzeichen anderer Sprachen darstellen zu können (z. B. deutsche Umlaute), nahmen neue Kodierungen mit acht Bit pro Zeichen ASCII als kompatible Grundlage. Allerdings boten auch Acht-Bit-Codes in denen ein Byte für ein Zeichen stand zu wenig Platz, um alle Zeichen der menschlichen Schriftkultur gleichzeitig unterzubringen, wodurch mehrere verschiedene spezialisierte Erweiterungen notwendig wurden. Daneben exisitieren vor allem für den ostasiatischen Raum einige ASCII-kompatible Mehr-Byte-Kodierungen, die entweder zwischen verschiedene Codetabellen umschalten oder mehr als ein Byte für jedes Nicht-ASCII-Zeichen benötigen. Keine dieser Acht-Bit-Erweiterungen ist aberASCII“, denn dies bezeichnet nur den einheitlichen Sieben-Bit-Code.

Für die Kodierung lateinischer Zeichen wird nur einigen Systemen von IBM eine zu ASCII inkompatible Kodierung verwendet (EBCDIC). Chinesische Zeichenkodierung sind nicht ASCII kompatibel.

Zusammensetzung
ASCII-Codetabelle, Nummerierung in Hex Code0123456789ABCDEF
0… NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
1DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2… SP ! " # $ % & ' ( ) * + , - . /
30 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
5P 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
7p q r s t u v w x y z { | } ~ DEL

Die ersten 32 ASCII-Zeichencodes (von 00 bis 1F) sind für Steuerzeichen (control character) reserviert; siehe dort für die Erklärung der Abkürzungen in obiger Tabelle. 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). Dieser Code wurde früher wie ein Steuerzeichen verwendet, um auf Lochstreifen oder Lochkarten ein bereits gelochtes Zeichen nachträglich durch das Setzen aller Bits, d. h. durch Auslochen aller sieben Markierungen, löschen zu könneneinmal vorhandene Löcher kann man schließlich nicht wieder rückgängig machen.

Erweiterungen

ASCII enthält keine diakritischen Zeichen, die in fast allen 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 die ASCII-Position 93 für die rechte eckige Klammer (]) in der deutschen Zeichensatz-Variante ISO 646-DE durch das große U mit Trema (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. Dies führte oft zu ungewollt komischen Ergebnissen, indem etwa die Einschaltmeldung des Apple II von »APPLE ][« zu »APPLE ÜÄ« mutierte.

Verschiedene Hersteller entwickelten eigene Acht-Bit-Codes. Der Codepage 437 genannte Code war lange Zeit der am weitesten verbreitete, er kam auf dem IBM-PC unter MS-DOS, und heute noch in DOS- oder Eingabeaufforderungs-Fenstern von MS-Windows, zur Anwendung.

Auch bei späteren Standards wie ISO 8859 wurden acht Bits verwendet. Dabei existieren mehrere Varianten, zum Beispiel ISO 8859-1 für die westeuropäischen Sprachen. Deutschsprachige Versionen von MS-Windows (außer DOS-Fenster) verwenden die auf ISO 8859-1 aufbauende Kodierung Windows-1252 – daher sehen z. B. bei unter DOS erstellten Textdateien die deutschen Umlaute falsch aus, wenn man sie unter Windows ansieht. 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.

Um den verschiedenen Anforderungen der verschiedenen Sprachen gerecht zu werden, wurde der Unicode (in seinem Zeichenvorrat identisch mit ISO 10646) entwickelt. Er 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 8-Bit-Kodierung von Unicode, die zu ASCII abwärtskompatibel ist. Ein Zeichen kann dabei ein bis vier 8-Bit-Wörter einnehmen. Sieben-Bit-Varianten müssen nicht mehr verwendet werden, dennoch kann Unicode auch mit Hilfe von UTF-7 in sieben Bit kodiert werden. UTF-8 entwickelt sich zur Zeit (2005) zum einheitlichen Standard unter den meisten Betriebssystemen. So nutzen unter anderem einige Linux-Distributionen UTF-8 standardmäßig, und immer mehr Webseiten werden in UTF-8 ausgeliefert.

ASCII enthält nur wenige Zeichen, die allgemein verbindlich zur Formatierung oder Strukturierung von Text verwendet werden; diese gehen aus den Steuerbefehlen der Fernschreiber hervor. Hierzu zählen insbesondere der Zeilenvorschub (Linefeed), der Wagenrücklauf (Carriage Return), der horizontale Tabulator, der Seitenvorschub (Form Feed) und der vertikale Tabulator. In typischen ASCII-Textdateien findet sich neben den druckbaren Zeichen meist nur noch der Wagenrücklauf oder der Zeilenvorschub, um das Zeilenende zu markieren, wobei in DOS- und Windows-Systemen üblicherweise beide nacheinander verwendet werden, bei Apple- und Commodore-Rechnern nur der Wagenrücklauf, auf Unix-artigen Systemen nur der Zeilenvorschub. Die Verwendung weiterer Zeichen zur Textformatierung ist bei verschiedenen Anwendungprogrammen zur Textverarbeitung unterschiedlich. Zur Formatierung von Text werden inzwischen eher Markup-Sprachen wie z. B. HTML verwendet.

Kompatible Zeichenkodierungen

Viele Zeichenkodierungen sind so entworfen, dass sie für Zeichen im Bereich 0…127 den gleichen Code verwenden wie ASCII und den Bereich über 127 für weitere Zeichen benutzen.

Kodierungen mit fester Länge (Auswahl)

Hier steht eine feste Anzahl Bytes jeweils für ein Zeichen. In den meisten Kodierungen ist dies ein Byte je Zeichen, bei den ostasiatischen Schriften zwei oder mehr Byte je Zeichen.

* ISO 8859 mit 15 verschiedenen Zeichenkodierungen zur Abdeckung aller europäischen Sprachen und Thai
* MacRoman, MacCyrillic und andere proprietäre Zeichensätze für Apple Mac Computer vor Mac OS X.
* Windows- und DOS-Codepages, z. B. Windows-1252
* KOI8-R für Russisch und KOI8-U für Ukrainisch
* ARMSCII für Armenisch
* GEOSTD für Georgisch
* ISCII für alle indischen Sprachen
* TSCII für Tamil
* VISCII für Vietnamesisch
* EUC (Extended UNIX Coding) für mehrere ostasiatische Sprachen.
* Big 5 für traditionelles Chinesisch (Taiwan, Auslandschinesen)
* GB (Guojia Biaozhun) für vereinfachtes Chinesisch (VR China)

Kodierungen mit variabler Länge

Um mehr Zeichen kodieren zu können, werden die Zeichen 0…127 in einem Byte kodiert, andere Zeichen werden durch mehrere Bytes mit Werten von über 127 kodiert.

* UTF-8 für Unicode

Siehe auch

* ASCII-Datei
* ASCII-Tabelle
* ASCII-Art

Weblinks

* Erläuterungen zu den Steuerzeichen



   User-Bewertung: /
Zeilenumbrüche macht der Assoziations-Blaster selbst, Du musst also nicht am Ende jeder Zeile Return drücken – nur wenn Du einen Absatz erzeugen möchtest.

Dein Name:
Deine Assoziationen zu »ASCII«:
Hier nichts eingeben, sonst wird der Text nicht gespeichert:
Hier das stehen lassen, sonst wird der Text nicht gespeichert:
 Konfiguration | Web-Blaster | Statistik | »ASCII« | Hilfe | Startseite 
0.0225 (0.0070, 0.0140) sek. –– 853817882