American Standard Code for Information Interchange

Lesedauer 4 Minuten
Posted: Mo. 31.07.2023-20:02Updated: So. 25.08.2024-18:24

 Unter “ASCII-Codierung” versteht man eine weit verbreitete Zeichenkodierung, die in der Computertechnik verwendet wird. ASCII steht für “American Standard Code for Information Interchange” und wurde in den 1960er Jahren entwickelt. Es ist ein 7-Bit-Code und weist jedem Zeichen (Buchstaben, Ziffern, Satzzeichen und Steuerzeichen) eine eindeutige binäre Zahl zwischen 0 und 127 zu.

Was ist ASCII?

Unter “ASCII-Codierung” versteht man eine weit verbreitete Zeichenkodierung, die in der Computertechnik verwendet wird. ASCII steht für “American Standard Code for Information Interchange” und wurde in den 1960er Jahren entwickelt. Es ist ein 7-Bit-Code und weist jedem Zeichen (Buchstaben, Ziffern, Satzzeichen und Steuerzeichen) eine eindeutige binäre Zahl zwischen 0 und 127 zu.

In der ASCII-Codierung werden beispielsweise die Buchstaben des englischen Alphabets (Groß- und Kleinbuchstaben), die arabische Ziffern von 0 bis 9, verschiedene Satzzeichen wie Punkt, Komma, Fragezeichen usw. sowie einige Steuerzeichen wie Zeilenumbruch, Tabulator usw. durch bestimmte Binärwerte repräsentiert.

Hier sind einige Beispiele für ASCII-Codes:

  • Der ASCII-Code für den Großbuchstaben “A” ist 65 (01000001 in binär).
  • Der ASCII-Code für das Satzzeichen “.” (Punkt) ist 46 (00101110 in binär).
  • Der ASCII-Code für die Ziffer “7” ist 55 (00110111 in binär).

Da ASCII nur 7 Bit verwendet, gibt es insgesamt 128 mögliche Zeichen. Dies reicht jedoch nicht aus, um alle Zeichen verschiedener Sprachen und Sonderzeichen abzudecken. Deshalb wurden spätere Zeichenkodierungen wie UTF-8 (Unicode Transformation Format) entwickelt, die mehr Bits verwenden, um eine größere Anzahl von Zeichen zu unterstützen, einschließlich Zeichen aus verschiedenen Sprachen und Sonderzeichen aus verschiedenen Kulturen. UTF-8 ist heutzutage die am weitesten verbreitete Zeichenkodierung und wird in den meisten modernen Computern und Anwendungen verwendet.

Obwohl der ASCII-Code heutzutage nicht mehr so weit verbreitet ist wie früher, hat er immer noch einige relevante Anwendungen und Bedeutung:

  • Historische Bedeutung:
    ASCII war die erste weitverbreitete Zeichenkodierung und hat die Grundlage für spätere Zeichenkodierungen wie UTF-8 gelegt. Viele ältere Systeme und Protokolle verwenden immer noch ASCII oder ASCII-kompatible Zeichenkodierungen.

  • Zeichenaustausch:
    ASCII wird häufig für den einfachen Austausch von Zeichen zwischen verschiedenen Systemen und Plattformen verwendet. Da ASCII nur 7 Bit verwendet und somit nur 128 Zeichen umfasst, ist es für einfache Textübertragungen effizient und kann in vielen Umgebungen problemlos verarbeitet werden.

  • Legacy-Systeme:
    In einigen älteren oder spezialisierten Systemen wird ASCII nach wie vor verwendet, da es einfacher und ressourcenschonender ist als moderne Zeichenkodierungen wie UTF-8.

  • Programmierung und Codierung:
    ASCII wird in der Programmierung und Codierung häufig verwendet, um Zeichenwerte zu repräsentieren und zu verarbeiten. Viele Programmiersprachen verwenden den ASCII-Code, um Zeichen zu identifizieren und zu manipulieren.

  • Hardwarekommunikation:
    In einigen Hardwarekommunikationsprotokollen und eingebetteten Systemen wird ASCII zur Übertragung und Darstellung von Textdaten verwendet.

Obwohl ASCII in vielen modernen Anwendungen durch Zeichenkodierungen wie UTF-8 weitgehend abgelöst wurde, hat es immer noch eine gewisse Bedeutung in speziellen Kontexten und bleibt ein wichtiger Bestandteil der Geschichte und Entwicklung der Zeichenkodierungen in der Computertechnologie.

ASCII-Erweiterungen 

Bei der ASCII-Codierung werden nur die letzten 7 Bits eines Byte genutzt. Das erste Bit verwendete man früher als Kontrollbit für die Datenübertragung.   

Es wurde auf 0 oder 1 gesetzt, je nachdem ob die Anzahl der 1-en an den übrigen 7 Bitpositionen gerade (even) oder ungerade (odd) war. Die Anzahl der 1-en in dem gesamten Byte wurde dadurch immer gerade 
(even parity).   

Wenn nun bei der Übertragung ein kleiner Fehler auftrat, d.h. wenn in dem übertragenen Byte genau ein Bit verfälscht wurde, so konnte der Empfänger dies daran erkennen, dass die Anzahl der 1-en ungerade 
war.   

Bei der Verwendung des ASCII-Codes zur Speicherung von Texten und auch als Folge der verbesserten Qualität der  Datenübertragung wurde dieses Kontrollbit überflüssig.   

Daher lag es nahe, nun alle 8 Bit zur Zeichenkodierung zu verwenden. Somit ergab sich ein weiterer verfügbarer Bereich von ASCII 128 bis ASCII 255.  

Da der ursprüngliche ASCII-Zeichensatz in den USA entwickelt wurde, enthält er natürlich keine Umlaute.   

Der IBM-PC nutzt diese zusätzlichen freien Codes von 128 – 255 zur Darstellung von sprachspezifischen Zeichen wie z.B. “ä” (ASCII 132), “ö” (ASCII 148), “ü” (ASCII 129) und einigen Sonderzeichen anderer Sprachen. Dieser erweiterte ASCII-Code wird “Extended ASCII” oder auch ANSI (American National Standard Institute) genannt.   

Der ANSI-Zeichensatz wurde von der ISO (International Organization for Standardization) standardisiert unter ISO 6937-2. 

Leider ist auch die Auswahl der sprachspezifischen Sonderzeichen bei weitem nicht ausreichend für die vielfältigen Symbole fremder Schriften. Daher wurden von der ISO (International Organization for Standardization) verschiedene ASCII-Erweiterungen (Codepages) normiert:   

  • ISO 8859-1 = Latin-1 (Erweiterung für Westeuropa)
  • ISO 8859-2 = Latin-2 (Erweiterung für Osteuropa) 

ASCII-Probleme  

Werden zwischen zwei Rechnern, die nicht dieselben ASCII-Erweiterungen einsetzen, Daten ausgetauscht, werden die Zeichen der Erweiterungen nicht korrekt dargestellt.  

  • Ein Problem ist das z.B. bei Emails, wenn der Sender die deutsche ASCII-Erweiterung verwendet, die auch die Umlaute wie ä, ö, ü und das ß umfasst und der Empfänger die ASCII-Erweiterung für z.B. Portugal, die diese speziellen Zeichen nicht enthält, dafür aber andere:

Dort, wo eigentlich die deutschen Sonderzeichen der ASCII-Erweiterung stehen sollten, tauchen dann sonderbare Grafikzeichen oder Symbole auf.   

Dieses Phänomen ist wahrscheinlich jedem schon einmal begegnet.  

  • Es könnte auch sein, dass der Sender eine länderspezifische Erweiterung benutzt (8-Bit breit) und der Empfänger den ASCII-Code (7-Bit breit!). In diesem Fall geht sogar das komplette 1. Bit jedes Zeichens verloren, weil der Empfänger dieses als Korrekturbit behandelt.

Ein Lösungsansatz ist, die zu sendenden Dateien (z.B. Bilder oder Programme) vorher in ASCII-konforme Dateien zu konvertieren, d.h. in Dateien, die nur noch aus “druckbaren ASCII-Zeichen” bestehen. Dies kann z.B. mit dem Tool “UUencode” vorgenommen werden. Das Gegenstück, das die Datei wieder in ihren Urzustand versetzt heißt “UUdecode“. 

  • Allerdings ist dies heutzutage nicht mehr ganz so problematisch, da man auch das folgende Verfahren für das Versenden von Dateien per Email verwenden kann und dies in den meisten Fällen schon tut, ohne davon zu wissen:  
  • MIME (Multipurpose Internet-Mail Extensions). MIME ist ein Standard-Verfahren, das es erlaubt, beliebige Dateien als Anhang per Mail zu verschicken. Die Übertragung der Dateien erfolgt binär, also ohne Umwandlung in ASCII.  
  • Das oben für Emails geschilderte Phänomen ist bestimmt jedem auch schon bei Webseiten begegnet, also bei HTML-Dateien. Die Lösung für dieses Problem ist die Darstellung der betroffenen Sonderzeichen (im Deutschen die Umlaute und das ‘ß’) als sog. Entities, hier eine kleine Auswahl:  
Zeichen HTML-Entity ASCII-Code Beschreibung
&

&

38

Das “Und”-Zeichen

<

&lt;

60

Das kleiner als Zeichen

>

&gt;

62

Das größer als Zeichen

&quot;

34

Das doppelte Anführungszeichen

&euro;

128

Das Euro-Zeichen

©

&copy;

169

Das Copyright-Zeichen

Ä

&Auml; 

196

Das große Ä

Ö

&Ouml; 

214

Das große Ö

ß

&szlig;

223

Das ß (scharfes s)

ä

&auml; 

228

Das kleine ä

ö

&ouml; 

246

Das kleine ö

Diese Tabelle zeigt einige der gängigsten HTML-Entities und ihre entsprechenden Zeichen. HTML-Entities werden verwendet, um Zeichen darzustellen, die in HTML besondere Bedeutungen haben, wie das "&"-Zeichen, das kleiner als () Zeichen, Anführungszeichen usw. Wenn Sie solche Zeichen in HTML-Dokumenten verwenden möchten, müssen Sie sie durch ihre entsprechenden HTML-Entities ersetzen, um eine korrekte Darstellung sicherzustellen.

Man muss beachten, dass die ersten vier Zeichen in der ursprünglichen 7-Bit-ASCII-Kodierung enthalten waren, die restlichen NICHT und daher keine offiziellen ASCII-Codes haben. Die oben genannten Werte sind die Codes in der erweiterten Zeichencodierung wie ISO 8859-1 (Latin-1), die in vielen westeuropäischen Ländern verwendet wird. In modernen Zeichencodierungen wie UTF-8 sind diese Zeichen ebenfalls enthalten und haben unterschiedliche Unicode-Codes.

UTF-8 ist heutzutage die am weitesten verbreitete Zeichencodierung und unterstützt eine breite Palette von Zeichen aus verschiedenen Sprachen und Kulturen.

Siehe auch:

de.wikipedia.org

American Standard Code for Information Interchange

Der American Standard Code for Information Interchange (ASCII, alternativ US-ASCII, deutsch "Amerikanischer Standard-Code für den Informationsaustausch") ist eine 7-Bit-Zeichenkodierung; sie entspricht der US-Variante von ISO 646 und dient als Grundlage für spätere, auf mehr Bits basierende Kodierungen für Zeichensätze. 

Der ASCII-Code wurde zuerst am 17. Juni 1963 von der American Standards Association (ASA) als Standard ASA X3.4-1963 gebilligt (damals noch ohne Kleinbuchstaben) und 1967/68 wesentlich sowie zuletzt im Jahr 1986 (ANSI X3.4-1986) von ihren Nachfolgeinstitutionen aktualisiert und wird noch benutzt. Die Zeichenkodierung definiert 128 Zeichen, bestehend aus 33 nicht druckbaren sowie den folgenden 95 druckbaren Zeichen, beginnend mit dem Leerzeichen. 

ASCII-Tabelle 127 ...

Dieser Beitrag wurde bisher 358 mal gelesen.