Wie Computer Text darstellen
Von ASCII über Unicode bis UTF-8 — wie Buchstaben zu Zahlen und Zahlen zu Bits werden, und wie QR-Codes Text jeder Sprache tragen.
Computer stellen Text dar, indem sie jedes Zeichen in eine Zahl verwandeln und diese Zahl binär speichern — eine Reise, die von ASCII aus den 1960er-Jahren über das moderne Unicode bis zu UTF-8 führt. Dieselbe Ideenkette ist es, die einem QR-Code erlaubt, einen englischen Link, einen japanischen Slogan oder ein Emoji zu tragen.
Im Innersten hat ein Computer keine Ahnung, was ein Buchstabe ist. Er speichert nur Zahlen. Wie also übersteht „hello“ das Tippen, Speichern, Senden und erneute Anzeigen auf einem anderen Gerät? Durch eine Reihe von Vereinbarungen darüber, welche Zahl welches Zeichen bedeutet. Verfolgen wir Text vom einfachsten Verfahren bis zum globalen — und sehen wir, wie QR-Codes mitfahren. 🐾
Wie speichert ein Computer einen Buchstaben?
Ein Computer speichert Text, indem er jedem Zeichen eine Zahl zuweist und diese Zahl dann als binäre Bits ablegt. Der Buchstabe „A“ wird vielleicht zur Zahl 65, und 65 wird zum Bitmuster 01000001. Das Regelwerk, das Zeichen auf Zahlen abbildet, heißt Zeichencodierung, und es ist einfach eine gemeinsame Vereinbarung — dasselbe Prinzip, das hinter jeder Codierung steckt.
Alles Weitere hängt davon ab, dass beide Seiten dasselbe Regelwerk verwenden. Tippe „A“, speichere 65, und solange der Leser ebenfalls zustimmt, dass 65 „A“ bedeutet, übersteht der Buchstabe die Hin- und Rückreise unversehrt. Wechsle das Regelwerk auf halbem Weg, und du erhältst Kauderwelsch.
Was ist ASCII?
ASCII (der American Standard Code for Information Interchange) war die frühe, enorm einflussreiche Antwort. Es ist eine 7-Bit-Codierung, das heißt, jedes Zeichen ist eine Zahl von 0 bis 127 — insgesamt 128 Möglichkeiten. Das deckte die englischen Groß- und Kleinbuchstaben, die Ziffern 0–9, gängige Satzzeichen und einen Satz unsichtbarer Steuerzeichen wie „Zeilenumbruch“ und „Tabulator“ ab.
ASCII war einfach, kompakt und über Jahrzehnte gut genug für die englischsprachige Datenverarbeitung. Weil 7 Bit sauber in ein Byte (8 Bit) passen, belegte jedes ASCII-Zeichen ein Byte zum Speichern, mit einem Bit übrig. Doch 128 Zeichen reichen bei Weitem nicht für die Schriften der Welt — keine Buchstaben mit Akzent, kein Griechisch, kein Chinesisch, keine Emojis.
Warum reichte ASCII nicht aus?
Die Welt schreibt in weit mehr als 128 Zeichen. Frühe Versuche, ASCII zu erweitern, nutzten das übrige achte Bit, um weitere 128 Plätze hinzuzufügen, und brachten Dutzende inkompatibler „Codepages“ hervor — eine für westeuropäische Akzente, eine andere für Kyrillisch und so weiter. Dieselbe Zahl bedeutete je nach angenommener Codepage unterschiedliche Zeichen, sodass zwischen Regionen versandter Text häufig zu Unsinn wurde.
Was die Welt brauchte, war ein einziger universeller Katalog, in dem jedes Zeichen — aus jeder Sprache, dazu Symbole und Emojis — eine einzige, eindeutige Identität hatte. Dieser Katalog ist Unicode.
ASCII gab jedem englischen Zeichen eine Zahl. Unicode gibt jedem Zeichen in jedem Schriftsystem eine Zahl. UTF-8 ist die raffinierte Art, diese Zahlen effizient zu speichern.
Was ist Unicode?
Unicode ist ein riesiger, universeller Zeichensatz, der jedem Zeichen eine eindeutige Zahl zuweist, die man Codepoint nennt. Das lateinische „A“, das griechische „Ω“, das japanische „あ“ und das Emoji 😀 erhalten jeweils ihren eigenen Codepoint, und diese Identität ändert sich über Systeme und Sprachen hinweg nie.
Wichtig: Unicode ist ein Katalog, kein Speicherformat. Es sagt „dieses Zeichen ist Codepoint Nummer soundso“, aber es schreibt nicht vor, wie diese Zahl in Bytes zu verpacken ist. Und um mit der Vergangenheit kompatibel zu bleiben, sind Unicodes erste 128 Codepoints identisch mit ASCII — sodass einfacher englischer Text in beiden dieselben Zahlen hat. Die Frage, wie man diese Codepoints tatsächlich speichert, ist der Punkt, an dem UTF-8 ins Spiel kommt.
Was ist UTF-8 und warum hat es sich durchgesetzt?
UTF-8 ist die vorherrschende Art, Unicode-Codepoints als Bytes zu speichern, und es ist ein wahrhaft elegantes Design. Es ist eine Codierung variabler Länge: gängige Zeichen belegen weniger Bytes, seltenere mehr.
- Die ursprünglichen ASCII-Zeichen belegen jeweils nur 1 Byte — jeder einfache englische Text ist damit automatisch gültiges UTF-8, unverändert.
- Die meisten anderen gängigen Zeichen, einschließlich lateinischer Buchstaben mit Akzent, Griechisch, Kyrillisch und Hebräisch, belegen 2 Byte.
- Zeichen wie Chinesisch, Japanisch und Koreanisch belegen typischerweise 3 Byte.
- Emojis und seltenere Symbole belegen 4 Byte.
UTF-8 hat das Web aus guten Gründen erobert: Es ist vollständig abwärtskompatibel mit ASCII, es verschwendet keinen Platz bei englischlastigem Text und kann dennoch jedes Zeichen in Unicode darstellen. Heute wird die überwältigende Mehrheit der Webseiten als UTF-8 ausgeliefert. Es ist der stille universelle Standard, der eine Seite frei mit Sprachen mischen lässt.
Wie tragen QR-Codes Text?
Ein QR-Code speichert Bits, also braucht er zum Tragen von Text eine Zeichencodierung wie jeder Computer. Der QR-Standard definiert mehrere Codierungsmodi, die auf unterschiedliche Inhalte zugeschnitten sind — einen numerischen Modus für Ziffern, einen alphanumerischen Modus für einen begrenzten Satz von Großbuchstaben und Symbolen (effizient etwa für URLs in Großbuchstaben) und einen Byte-Modus für beliebige Daten.
Dieser Byte-Modus ist der Schlüssel zu mehrsprachigem Text: Er trägt üblicherweise UTF-8, was bedeutet, dass ein QR-Code jedes Unicode-Zeichen aufnehmen kann — Japanisch, Arabisch, Emojis, alles davon — genau so, wie es eine Webseite täte. Wenn dein Scanner einen Code mit nicht-englischem Text liest und ihn korrekt anzeigt, dekodiert er diese UTF-8-Bytes zurück in Codepoints und dann in Zeichen. Die Einzelheiten finden sich in QR-Code-Codierungsmodi und Zeichencodierung und QR-Codes.
Warum ist der Codierungsmodus für die Kapazität wichtig?
Verschiedene Modi kosten unterschiedlich viele Bit pro Zeichen, sodass die Codierung direkt beeinflusst, wie viel in einen Code passt. Reine Ziffern packen dicht; der eingeschränkte alphanumerische Satz ist recht effizient; der volle UTF-8-Byte-Modus ist am flexibelsten, verbraucht aber mehr Bit pro Zeichen, besonders bei Mehrbyte-Schriften.
Deshalb kann ein QR-Code mit einer kurzen englischen URL klein und spärlich bleiben, während derselbe Code in gleicher Größe mit einem Absatz Chinesisch dichter oder größer sein muss. Der Kompromiss zwischen dem, was du codierst, und dem Platz, den es einnimmt, wird in QR-Code-Datenkapazität ausbuchstabiert. Den richtigen Modus für deinen Inhalt zu wählen hält Codes klein und leicht scanbar.
Textdarstellung in einem Satz
Computer speichern Text als Zahlen in binärer Form, unter Verwendung gemeinsamer Codierungen, die vom 7-Bit-ASCII zu universellen Unicode-Codepoints wuchsen, die effizient als UTF-8 gespeichert werden — dasselbe Verfahren, das QR-Codes im Byte-Modus nutzen, um jede Sprache der Erde zu tragen.
Möchtest du eigenen Text in ein scanbares Raster codieren? Du kannst mit QR Puppy einen kostenlosen QR-Code erstellen — er verarbeitet mehrsprachigen Text und Emojis ohne Umstände.
Häufig gestellte Fragen
Was ist der Unterschied zwischen Unicode und UTF-8?
Unicode ist der Katalog, der jedem Zeichen eine eindeutige Zahl namens Codepoint gibt, während UTF-8 eine bestimmte Art ist, diese Zahlen als Bytes zu speichern. Unicode sagt, was die Identität eines Zeichens ist; UTF-8 entscheidet, wie viele Bytes es zum Speichern braucht.
Ist ASCII noch relevant?
Sehr wohl. Seine ersten 128 Zeichen sind identisch mit denen von Unicode, und UTF-8 speichert sie in einem einzigen Byte, sodass jeder einfache englische Text automatisch gültiges UTF-8 ist. ASCII lebt als der kompatible Kern moderner Codierung fort.
Kann ein QR-Code nicht-englischen Text aufnehmen?
Ja. Mit dem Byte-Modus und UTF-8 kann ein QR-Code jedes Unicode-Zeichen tragen, einschließlich Chinesisch, Arabisch und Emojis. Der Scanner dekodiert die UTF-8-Bytes zurück in die ursprünglichen Zeichen, genau wie es ein Webbrowser tut.
Warum erscheint dasselbe Zeichen manchmal als verstümmelte Symbole?
Weil der Leser eine andere Codierung verwendete, als der Schreiber beabsichtigte, sodass die Zahlen mit dem falschen Regelwerk interpretiert wurden. Sich systemübergreifend auf UTF-8 zu einigen ist es, was dieses verbreitete „Mojibake“-Problem verhindert.
Macht mehrsprachiger Text einen QR-Code größer?
Er kann es. Nicht-englische Zeichen belegen in UTF-8 oft mehrere Bytes, sodass ein Code, der sie enthält, mehr Bit trägt und dichter wird oder eine größere Version braucht als dieselbe Menge einfachen englischen Textes.
Erstelle einen QR-Code auf die ehrliche Art 🐾
Für immer kostenlos, kein Tracking, kein Ablauf — direkt in deinem Browser erzeugt.