Textgröße in Bytes

Wie viel Speicher ein Text belegt — in UTF-8, UTF-16 und Latin-1, mit Zeichen und Codepunkten getrennt gezählt.

19 Zeichen belegen in UTF-8 25 Bytes.

UTF-8
25 Bytes
UTF-16
40 Bytes (20 Code-Einheiten)
Latin-1
nicht darstellbar — der Text enthält Zeichen außerhalb von Latin-1
Zeichen und Codepunkte
19 Codepunkte, 20 UTF-16-Einheiten
Gegen die Grenze
passt — 230 Bytes bleiben frei

Die Frage „wie lang ist dieser Text“ hat mindestens vier Antworten: Zeichen, Codepunkte, UTF-8-Bytes und UTF-16-Einheiten. Solange nur ASCII vorkommt, sind alle gleich — sobald Umlaute oder Emojis dabei sind, gehen sie auseinander.

Genau daran scheitern Zeichenbegrenzungen: Eine Spalte für 255 Bytes fasst 255 lateinische Buchstaben, aber nur 127 Umlaute und knapp 64 Emojis.

Vier Zählungen, vier Zahlen

Ein Emoji wie das Brezelzeichen ist ein Codepunkt, ein Zeichen für den Leser, vier Bytes in UTF-8 und zwei Einheiten in UTF-16. Eine Flagge aus zwei regionalen Buchstaben ist zwei Codepunkte, aber ein Zeichen — und acht Bytes.

In JavaScript zählt die Eigenschaft length UTF-16-Einheiten, was bei Emojis zu viel ergibt. In PostgreSQL zählt eine Beschränkung Zeichen, in MySQL je nach Definition Zeichen oder Bytes, und in vielen Protokollen zählen Bytes. Wer die falsche Zählung nimmt, schneidet Text mitten im Zeichen ab.

Warum Latin-1 immer noch auftaucht

Alte Systeme, Druckerschnittstellen und manche Bankformate erwarten weiterhin eine Kodierung mit genau einem Byte je Zeichen. Sie fasst 256 verschiedene Zeichen — genug für Westeuropa, aber weder für das Euro-Zeichen an seiner heutigen Stelle noch für Polnisch oder Türkisch.

Der Rechner zeigt deshalb an, ob sich der Text überhaupt verlustfrei in Latin-1 abbilden lässt. Steht dort ein Hinweis auf nicht darstellbare Zeichen, wird die Übertragung sie durch Fragezeichen ersetzen.

Häufige Fragen

Warum ist mein Tweet zu lang, obwohl ich unter 280 Zeichen bin?
Weil manche Dienste gewichtet zählen: Lateinische Zeichen zählen einfach, viele andere doppelt, und Links werden pauschal mit einer festen Länge angesetzt. Die reine Zeichenzahl ist deshalb nur bei reinem ASCII-Text die richtige Zahl.
Was ist ein Byte-Order-Mark?
Ein unsichtbares Zeichen am Dateianfang, das die Kodierung verrät. In UTF-8 belegt es drei Bytes und ist eigentlich überflüssig, aber unter Windows verbreitet, weil Excel eine CSV sonst falsch liest. Es zählt zur Dateigröße, nicht zum Text.
Wie kürze ich einen Text sicher auf n Bytes?
Nicht durch Abschneiden der Bytefolge — das zerlegt das letzte Zeichen. Richtig ist, Zeichen für Zeichen anzuhängen und vor dem Überschreiten der Grenze abzubrechen. Sonst entstehen ungültige Bytefolgen, die als Fragezeichen oder Fehler enden.

Quellen

Stand der Werte: 2026. Die Ergebnisse sind Orientierungswerte und ersetzen keine Steuerberatung.

Passt dazu