Ratgeber 02

So werden Bytes berechnet: UTF-8, EUC-KR, CP949

Wann ein Hangul-Zeichen 2 und wann 3 Bytes hat: Byte-Berechnung je Zeichenkodierung und worauf man bei SMS und Datenbanken achten sollte.

Zeichen und Bytes sind nicht dasselbe

Die Zeichenzahl ist die Zahl der Zeichen, die ein Mensch sieht; Bytes sind der Platz, den der Text beim Speichern im Computer belegt. Dasselbe Zeichen kann je nach Zeichenkodierung (der Regel, die Zeichen in Zahlen übersetzt) unterschiedlich viele Bytes belegen. Lateinische Buchstaben und Ziffern haben in fast allen Kodierungen 1 Byte, koreanisches Hangul dagegen je nach Kodierung 2 oder 3 Bytes.

UTF-8: der heutige Standard

UTF-8 ist die Kodierung von Webseiten und den meisten modernen Programmen. Je nach Größe der Unicode-Nummer (Codepunkt) werden 1 bis 4 Bytes verwendet (RFC 3629).

Codepunkt-BereichBytesBeispiele
U+0000 ~ U+007F1Lateinische Buchstaben, Ziffern, einfache Symbole
U+0080 ~ U+07FF2é, ñ, griechische, kyrillische und arabische Schrift
U+0800 ~ U+FFFF3Hangul, Kanji/Hanzi, Kana
U+10000 ~ U+10FFFF4Die meisten Emojis, historische Schriften

Alle vorkomponierten Hangul-Silben (가 bis 힣, U+AC00 bis U+D7A3) liegen im dritten Bereich und belegen in UTF-8 daher 3 Bytes pro Zeichen. So hat ‚안녕하세요‘ (Hallo) 5 Zeichen und 15 Bytes.

UTF-16

UTF-16, das intern in JavaScript, Java und Windows verwendet wird, speichert die meisten Zeichen mit 2 Bytes und Zeichen ab U+10000 wie Emojis mit 4 Bytes (Surrogatpaar). Deshalb zählt die Stringlänge in JavaScript ein Emoji als 2.

EUC-KR: koreanische Kodierung mit vorkomponierten Silben

EUC-KR beruht auf dem koreanischen Industriestandard KS X 1001. Lateinische Buchstaben und Ziffern haben 1 Byte, Zeichen aus KS X 1001 haben 2 Bytes. KS X 1001 enthält 2.350 häufig verwendete Hangul-Silben, 4.888 Hanja (chinesische Schriftzeichen), Kana, griechische und kyrillische Buchstaben sowie zahlreiche Symbole.

Das Problem: Von den 11.172 modernen Hangul-Silben sind nur 2.350 enthalten. Nicht aufgeführte Silben wie ‚똠‘, ‚햏‘ oder ‚뷁‘ lassen sich im einfachen Zwei-Byte-EUC-KR nicht darstellen. Zwar gibt es im Anhang des Standards ein Kombinationsverfahren mit 8 Bytes, doch kaum ein Programm unterstützt es; meist wird das Zeichen zu ‚?‘ oder es tritt ein Fehler auf.

CP949: erweiterte Kodierung

CP949 (Microsofts „Unified Hangul Code“) erweitert EUC-KR und bildet alle 11.172 modernen Hangul-Silben mit 2 Bytes ab. Da es die koreanische Standard-Codepage von Windows war, ist es in älteren koreanischen Dokumenten und Systemen weit verbreitet. Die übliche Faustregel „Latein 1 Byte, Hangul 2 Bytes“ stammt größtenteils von dieser Kodierung.

Wann Bytes wichtig sind

So rechnet dieses Tool

UTF-8-Bytes werden exakt aus dem Codepunkt jedes Zeichens berechnet. Für EUC-KR und CP949 prüft das Tool anhand der tatsächlichen Zeichentabelle der jeweiligen Kodierung, ob sich jedes Zeichen mit 2 Bytes darstellen lässt. Nicht darstellbare Zeichen (Emojis, nicht aufgeführte Hangul-Silben usw.) werden meist durch ein ‚?‘ mit einem Byte ersetzt und daher als 1 Byte gezählt; ihre Anzahl wird gesondert angezeigt. Wählen Sie im Bewerbungsmodus als Basis „Bytes (Hangul = 2)“, wird nach CP949 gezählt.

Stand: 2026-09-23

Zeichenzähler öffnen →