Zum Inhalt springen
OneKitly

Was sind UTF-8 und Unicode? Codepunkte, Byte-Codierung und warum sich UTF-8 durchsetzte

Veröffentlicht am 11.3.2026 · 3 Min. Lesezeit · Entwickler-Tools

Daniel Okonkwo

Daniel OkonkwoFront-end-Entwickler und Tech-Redakteur bei OneKitly

Web-Performance · Dateiformate

Anhand von 2 Quellen geprüft

Profil ansehen
Kurz gesagt

Unicode ist ein einziger Katalog, der jedem Zeichen eine Zahl namens Codepunkt gibt, geschrieben wie U+0041 für A oder U+1F600 für ein Smiley. UTF-8 ist eine Regel, diese Zahlen als Bytes zu speichern: Codepunkte bis U+007F belegen ein Byte, größere zwei, drei oder vier Bytes. UTF-8 setzte sich durch, weil es abwärtskompatibel mit ASCII ist, keine Byte-Reihenfolge-Mehrdeutigkeit hat und englischen Text kompakt hält, während es jede Schrift der Welt darstellt.

Unicode weist jedem Zeichen einen Codepunkt zu; UTF-8 codiert diese Codepunkte in ein bis vier Bytes. So funktioniert es und warum es die Alternativen schlug.

Codepunkte gegenüber Bytes

Es hilft, zwei Ideen zu trennen. Ein Codepunkt ist eine abstrakte Zahl, die ein Zeichen im Unicode-Katalog identifiziert, unabhängig von der Speicherung. Eine Codierung ist das konkrete Rezept, das diese Zahl in Bytes auf der Platte oder der Leitung verwandelt. Unicode definiert derzeit Codepunkte von U+0000 bis U+10FFFF, mehr als eine Million Plätze, von denen etwa 150.000 belegt sind.

Die U+-Notation ist nur Hexadezimal, Basis 16. U+0041 ist dezimal 65, der Buchstabe A, und U+20AC ist dezimal 8.364, ein Währungssymbol. Zwischen Hex und Dezimal oder Binär umzurechnen ist genau die Art Basiswechsel, die ein Basisumrechner erledigt, und so prüft man von Hand, welches Bytemuster ein Codepunkt erzeugen soll.

Ein bis vier Bytes, nach Größe entschieden

UTF-8 ist eine Codierung variabler Länge. Codepunkte von U+0000 bis U+007F, der ursprüngliche ASCII-Bereich, werden in einem einzigen Byte gespeichert, dessen oberstes Bit null ist, sodass einfacher englischer Text Byte für Byte mit alten ASCII-Dateien identisch ist. Codepunkte von U+0080 bis U+07FF belegen zwei Bytes, U+0800 bis U+FFFF drei und alles bis U+10FFFF, samt der meisten Emoji, vier.

Das führende Byte kündigt die Länge über seine hohen Bits an: eine Zwei-Byte-Folge beginnt mit 110, drei Byte mit 1110, vier Byte mit 11110, und jedes Fortsetzungsbyte beginnt mit 10. Dieses selbstbeschreibende Muster erlaubt einem Decoder, sich nach einem beschädigten Byte neu zu synchronisieren, und macht es unmöglich, ein Fortsetzungsbyte mit dem Beginn eines Zeichens zu verwechseln.

Warum UTF-8 die Alternativen schlug

Die Hauptrivalen waren UTF-16 und UTF-32. UTF-32 speichert jeden Codepunkt in festen vier Bytes, einfach zu indizieren, aber verschwenderisch, was gewöhnlichen englischen Text vervierfacht. UTF-16 nutzt zwei oder vier Bytes und beherrschte einst Windows und Java, braucht aber eine Byte-Reihenfolge-Markierung, um zu sagen, welches Ende zuerst kommt, und verwendet für große Codepunkte weiterhin Surrogatpaare, was die variable Länge wieder einführt, die es vermeiden wollte.

UTF-8 vermeidet all das. Es hat eine kanonische Byte-Reihenfolge, braucht keine Markierung und bleibt byte-kompatibel mit der riesigen Basis vorhandener ASCII-Werkzeuge, sodass eine UTF-8-Datei voll einfachem Englisch in Software korrekt öffnet, die älter als Unicode ist. Diese praktischen Vorzüge, kein Gremienbeschluss, machten es zum Standard des Webs, wo es heute die überwältigende Mehrheit der Seiten abdeckt.

Zahlensystem-KonverterWandle eine Zahl zwischen allen 35 Basen um, exakt, mit Zweierkomplement.Tool ausprobieren

Häufige Fragen

Ist UTF-8 dasselbe wie Unicode?
Nein. Unicode ist der Katalog, der jedem Zeichen einen Codepunkt zuweist. UTF-8 ist eine Art, diese Codepunkte als Bytes zu codieren. Unicode sagt, welche Zahl es ist; UTF-8 sagt, wie man sie speichert.
Wie viele Bytes verbraucht ein Emoji in UTF-8?
Die meisten einzelnen Emoji liegen über U+FFFF und belegen vier Bytes. Manche sichtbaren Emoji sind eigentlich mehrere Codepunkte, verbunden durch Nullbreiten-Verbinder, sodass sie auf der Platte weit mehr Bytes belegen können, als ein Zeichen vermuten lässt.
Warum zeigt mein Text verstümmelte Zeichen wie é?
Das ist eine Fehlpaarung: als UTF-8 geschriebene Bytes werden als Ein-Byte-Codierung wie Latin-1 gelesen, sodass eine Zwei-Byte-Folge als zwei falsche Zeichen erscheint. Deklariere und lies die Datei an beiden Enden als UTF-8, um es zu beheben.
Macht UTF-8 Dateien für nicht-englischen Text größer?
Manchmal. Sprachen mit lateinischer Schrift bleiben nahe einem Byte pro Zeichen, aber Schriften wie Chinesisch oder Japanisch nutzen drei Bytes pro Zeichen in UTF-8 gegenüber zwei in UTF-16. Für gemischten oder überwiegend lateinischen Inhalt ist UTF-8 insgesamt meist am kompaktesten.

Artikel, die dich interessieren könnten

Alle Ratgeber

Ähnliche Tools

Quellen

Hast du einen Fehler in diesem Artikel entdeckt?