Computer verwenden Zahlen. Menschen verwenden Buchstaben und Symbole. Wir brauchen eine Brücke. ASCII ist diese Brücke. ASCII wandelt jeden Buchstaben oder jedes Symbol in eine Zahl um. Der Computer speichert diese Zahl. Beim Lesen zeigt der Computer den Buchstaben wieder an. So funktioniert Text in vielen Dateien und Anwendungen.
Ein Computer arbeitet mit Strom. Er kennt zwei Zustände: Ein und Aus. Diese Zustände nennen wir Bits . Ein Bit ist entweder eine 0 oder eine 1. Viele Bits zusammen ergeben größere Zahlen. Acht Bits ergeben ein Byte . Mit Bits können wir zählen. Durch Zählen können wir Dinge benennen. ASCII verwendet das Zählen, um Buchstaben und Symbole zu benennen.
Ein Bit ermöglicht zwei Möglichkeiten. Zwei Bits ermöglichen vier Möglichkeiten. Mathematisch wird dies mit \(\;2^n\) dargestellt. Für \(n=7\) ergeben sich \(2^7 = 128\) Möglichkeiten. Für \(n=8\) ergeben sich \(2^8 = 256\) Möglichkeiten. ASCII verwendet 7 Bits. Das ermöglicht 128 benannte Elemente. Später wurden 8-Bit-Zeichensätze mit 256 Elementen entwickelt. Diese werden als erweitertes ASCII bezeichnet.
ASCII steht für American Standard Code for Information Interchange . Es entstand in den 1960er Jahren und wurde für frühe Drucker, Fernschreiber und Computer entwickelt. Jedem Buchstaben, jeder Zahl, jedem Leerzeichen und einigen Symbolen wird eine Zahl zugeordnet. Auch Aktionen wie Zeilenumbrüchen werden spezielle Zahlen zugewiesen. Die erste Version verwendete 7 Bit und umfasste daher Zahlen von 0 bis 127.
Ist Ihnen etwas aufgefallen? Kleinbuchstaben sind um 32 größer als ihre Großbuchstaben-Pendants. Zum Beispiel: \(\;97 - 65 = 32\) . Daher ist „a“ um 32 größer als „A“, „b“ um 32 größer als „B“ usw. Dieses Muster vereinfacht manche Computeraufgaben.
Beim Drücken der Eingabetaste sendet Ihr Computer je nach System entweder LF, CR oder beides. Viele Internetprogramme verwenden LF. Einige ältere Systeme verwendeten CR und LF gleichzeitig.
Zahlen lassen sich auf verschiedene Arten darstellen. Dezimal ist die übliche Art zu zählen, mit den Ziffern 0 bis 9. Binär verwendet nur 0 und 1. Hexadezimal verwendet 0 bis 9 und A bis F.
Wie kommt es, dass das Binärsystem für 'A' den Wert 65 hat? Betrachten wir die Bits in 01000001. Das Bit ganz links steht für 128. Dann folgen 64, 32, 16, 8, 4, 2 und 1. Nur 64 und 1 sind gesetzt. Daher \(01000001_{(2)} = 0\times128 + 1\times64 + 0\times32 + 0\times16 + 0\times8 + 0\times4 + 0\times2 + 1\times1 = 65\) .
Drücken Sie eine Taste. Die Tastatur sendet einen Code an den Computer. Das System wandelt diesen in eine Zeichennummer um. Bei vielen Tasten entspricht diese Nummer der ASCII-Nummer. Die App speichert die Nummer im Speicher. Beim Anzeigen des Textes wird die Nummer nachgeschlagen und der entsprechende Buchstabe dargestellt. Beim Speichern werden die Nummern in die Datei geschrieben.
Denken Sie an die Nachricht „Hi!“ . Die Buchstaben sind H, i und !. Ihre ASCII-Werte sind 72, 105 und 33. Binär dargestellt sind sie 01001000, 01101001 und 00100001. Das Netzwerk sendet diese Bits. Die Empfängerseite liest die Bits. Sie erkennt die Zahlen und sendet erneut H, i und !. So werden einfache Textnachrichten übertragen.
Die Menschen wünschten sich mehr Symbole. Sie wollten Buchstaben wie é, ñ und ø. Sie wollten Währungssymbole wie €. Der 7-Bit-Zeichensatz enthielt jedoch nur 128 Symbole. Daher verwendete man 8 Bit. Mit 8 Bit erhält man \(2^8 = 256\) Symbole. Die obere Hälfte, von 128 bis 255, wurde für zusätzliche Buchstaben und Symbole verwendet. Es gab jedoch ein Problem: Verschiedene Gruppen wählten unterschiedliche Zahlen für diese zusätzlichen Buchstaben. Diese Wahlen werden als Codepages bezeichnet.
Da sich Codepages unterscheiden, kann dieselbe Nummer auf einem anderen Computer ein anderes Symbol darstellen. Diese Vermischung wird als Mojibake bezeichnet. Es entstehen seltsame Zeichen. Dies ist einer der Gründe, warum die Welt zu Unicode übergegangen ist.
Unicode ist ein umfangreicher Standard, der zahlreiche Sprachen, mathematische Symbole und Emojis darstellen kann. Er bietet Platz für über eine Million Symbole. Unicode kann auf verschiedene Weise gespeichert werden. Eine gängige Methode ist UTF-8 .
Bei reinem ASCII-Text belegt jedes Zeichen ein Byte. Das Wort „Katze “ benötigt also 3 Bytes. Der Satz „Hallo Mama“ hat 6 Zeichen inklusive Leerzeichen und belegt daher 6 Bytes. Vereinfacht ausgedrückt: \(\textrm{ASCII-Bytes} = \textrm{Anzahl der Zeichen}\) .
Computer sortieren Zeichenketten oft nach ihren Zeichennummern. Die ASCII-Reihenfolge gruppiert Elemente auf eine bestimmte Weise.
Das bedeutet, dass Zoo vor Apfel kommt, wenn wir einfache ASCII-Werte vergleichen. Die Sortierung erfolgt nach Zahlen, nicht nach dem Klang der Wörter.
Beachten Sie, dass das kaufmännische Und-Zeichen (&) ist. Seine ASCII-Nummer ist 38. Das Pluszeichen (+) ist 43. Das Minuszeichen - ist 45.
Manche Menschen erstellen Bilder ausschließlich aus Buchstaben. Das nennt man ASCII-Kunst . Hier ist ein winziges Gesicht, das aus ASCII-Zeichen besteht.
:-) Einfaches Lächeln
(^_^) Freundliches Gesicht
o_O Überrascht
Jedes Gesicht besteht nur aus Zeichen wie Doppelpunkt, Bindestrich und Klammern. Keine Farben oder Formen. Nur Text.
ASCII entstand aus Fernschreibern und frühen Computern. 1963 einigte man sich auf eine erste Version. Sie ermöglichte die Kommunikation vieler verschiedener Geräte untereinander. Dank eines gemeinsamen Codes hatte ein Buchstabe wie A überall dieselbe Bedeutung. Dies vereinfachte das Versenden von Nachrichten und das Drucken von Texten.
ASCII umfasst nur 128 Zeichen. Das reicht für viele Sprachen nicht aus. Chinesisch, Hindi, Arabisch und viele andere Schriftsysteme lassen sich damit nicht darstellen. Auch Emojis und viele mathematische und musikalische Symbole können nicht abgebildet werden. Dafür verwenden wir Unicode. Unicode kann viele Schriftsysteme und Symbole darstellen. UTF-8 dient der Speicherung dieser Symbole. Die gute Nachricht: Alle ASCII-Zeichen sind in UTF-8 kodiert. Moderne Systeme können daher auch ältere ASCII-Zeichen problemlos lesen.
Die meisten Anwendungen erwarten UTF-8. Enthält eine Datei jedoch nur ASCII-Zeichen, sieht sie unter UTF-8 unverändert aus. Programmierer schätzen dies, da es die Programmierung vereinfacht. Webseiten, APIs und viele Tools verwenden UTF-8, das ASCII unverändert enthält.
ASCII ist ein 7-Bit-Zeichensatz. Das bedeutet bis zu \(2^7 = 128\) verschiedene Zeichen. Ein erweiterter Zeichensatz mit 8 Bit umfasst \(2^8 = 256\) Zeichen. Besteht Ihr Text ausschließlich aus ASCII-Zeichen und hat \(n\) Zeichen, so benötigt er \(n\) Bytes. Bei einer kurzen Nachricht wie „OK“ \(n = 2\) . Daher benötigt sie 2 Bytes, egal ob sie als ASCII oder UTF-8 gespeichert wird.
Manche ASCII-Zeichen bewirken Aktionen, ohne gedruckt zu werden. Ein Leerzeichen erzeugt einen leeren Ausdruck. LF und CR hingegen bewegen den Cursor. Die Tabulatortaste ermöglicht einen Sprung. Beim Öffnen einer Datei in einem speziellen Editor wird LF möglicherweise als \n angezeigt. Dieses Symbol ist nicht Teil des ASCII-Zeichensatzes selbst, sondern dient der Darstellung des Zeilenumbruchs durch den Editor.
Stellen Sie sich einen Etikettendrucker vor, der Namen druckt. Er liest den Namen als einzelne Zeichen ein. Jedes Zeichen wird in eine ASCII-Zahl umgewandelt. Diese Zahlen werden im Speicher abgelegt. Zum Drucken der Buchstaben sucht er nach der entsprechenden Darstellung der Zahl. Trifft er auf LF (10), springt er in die nächste Zeile, bevor er weiterdruckt.
Betrachten wir das Ausrufezeichen (!) noch einmal. Wir können seinen Code auf drei Arten schreiben: Dezimal: 33, Binär: 00100001 und Hexadezimal: 21. Mathematisch ausgedrückt: \(\;33_{(10)} = 00100001_{(2)} = 21_{(16)}\) . Alle drei Darstellungsformen haben denselben Wert. Anwendungen wählen die jeweils benötigte Form. Menschen lesen häufig Dezimalzahlen, Computer bevorzugen Binärzahlen. Hexadezimalzahlen sind eine Kurzform für Menschen, um Binärzahlen zu lesen.
ASCII ist klein und übersichtlich. Es wurde früh entwickelt. Viele Werkzeuge und Protokolle basieren darauf. Da die ersten 128 Unicode-Codes mit ASCII übereinstimmen, funktioniert das System bis heute. Deshalb können Sie sehr alte Textdateien auf einem neuen Smartphone oder Laptop öffnen und sehen dieselben Buchstaben.
Öffnen Sie eine Datei mit dem Text „Hello“ . Die Bytes entsprechen den ASCII-Zahlen 72 101 108 108 111. Binär dargestellt sind das 01001000 01100101 01101100 01101100 01101111. Die App liest jede Zahl und zeichnet „Hello“ auf dem Bildschirm. Ist die nächste Zahl 10, beginnt sie eine neue Zeile, bevor weiterer Text gezeichnet wird. So einfach und zuverlässig funktioniert das.
Denken Sie an die Zahl 10. Binär dargestellt ist sie 00001010. Dezimal ist sie zehn. Im ASCII-Code steht 10 für LF, den Zeilenvorschub. Dies zeigt, wie dieselbe Zahl auf unterschiedliche Weise dargestellt werden kann. Die Bedeutung ergibt sich aus der Verwendung der Zahl. Wenn wir sie als Zeichencode betrachten, bedeutet 10 LF. Wenn wir sie als Anzahl von Äpfeln bezeichnen, bedeutet sie zehn Äpfel. Der Kontext ist entscheidend.
Wir senden das Wort „Sun“ von einem Gerät zum anderen. Die Codes lauten: 'S' 83, 'u' 117, 'n' 110. Binär entspricht 83 der Zahl 01010011, 117 der Zahl 01110101 und 110 der Zahl 01101110. Die Bits werden als Ein- und Aus-Signale übertragen. Das andere Gerät wandelt die Bits wieder in Zahlen um. Anschließend werden die Zahlen in Buchstaben umgewandelt. Es zeigt das Wort „Sun“ an. Ist der nächste Code 32, handelt es sich um ein Leerzeichen. Ist der nächste Code 33, handelt es sich um ein Ausrufezeichen (!). Die Regeln bleiben jedes Mal gleich. Das ist die Stärke eines gemeinsamen Codes.