Was dieses Werkzeug berechnet
Der Rechner meldet eine zeichenorientierte Zählung auf Grundlage von Unicode-Codepunkten und eine speicherorientierte Zählung auf Grundlage von UTF-8-Bytes. Intern unterscheidet der verifizierte Helfer auch UTF-16-Codeeinheiten, was erklärt, warum die native Länge einer JavaScript-Zeichenfolge für einige Emojis und Zusatzzeichen von dem sichtbaren Ergebnis abweichen kann.
„Zeichen“ hat in der Informatik mehrere Bedeutungen. Eine Codepunkt-Zählung ist Unicode-bewusster als das Zählen von UTF-16-Einheiten, entspricht aber dennoch nicht immer der Anzahl der vom Benutzer wahrgenommenen Graphemcluster.
Eingaben
Geben Sie beliebigen Text ein oder fügen Sie ihn ein, einschließlich Leerzeichen, Zeilenumbrüchen, Emojis, kombinierenden Zeichen und nicht-lateinischen Schriften. Die Berechnung erfolgt im Browser und muss den Text nicht an einen Längendienst senden.
Bewahren Sie exakte Zeilenenden auf, wenn ein Bytelimit eine Rolle spielt. Ein Windows-Zeilenumbruch CRLF verwendet zwei Codepunkte und zwei UTF-8-Bytes, während ein LF-Umbruch einen verwendet. Unicode-Normalisierung kann die Codepunkt- und Bytezählung ebenfalls verändern, ohne den sichtbaren Text zu ändern.
Methode und Formel
Die Codepunkt-Zählung durchläuft die Zeichenfolge nach Unicode-Codepunkten statt nach rohen UTF-16-Einheiten zu indizieren. Die UTF-16-Zählung ist die Codeeinheitenlänge der Sprachlaufzeit. Die Bytezählung codiert die Zeichenfolge als UTF-8 und zählt die resultierenden Oktette.
Grundlegende ASCII-Zeichen verwenden eine UTF-16-Einheit und ein UTF-8-Byte. Viele akzentuierte Zeichen verwenden einen Codepunkt, aber zwei UTF-8-Bytes. Zusatz-Emojis verwenden üblicherweise einen Codepunkt, zwei UTF-16-Codeeinheiten und vier UTF-8-Bytes.
Ein Graphem wie eine mit Nullbreiten-Verbindern verbundene Emoji-Sequenz kann mehrere Codepunkte enthalten, während es als ein Symbol erscheint. Dieses Werkzeug wendet keine Graphemsegmentierung an.
Durchgerechnetes Beispiel
Geben Sie A😀é ein.
- Unicode-Codepunkte:
A,😀undé, insgesamt 3. - UTF-16-Codeeinheiten: 1 für A, 2 für 😀 und 1 für é, insgesamt 4.
- UTF-8-Bytes: 1 für A, 4 für 😀 und 2 für é, insgesamt 7.
Der sichtbare Rechner meldet 3 Zeichen und 7 Bytes. Der dokumentierte UTF-16-Wert von 4 erklärt, warum eine naive Zählung .length in JavaScript nicht übereinstimmen würde.
So interpretieren Sie das Ergebnis
Verwenden Sie Codepunkte, wenn Sie eine Protokoll- oder Datenregel validieren, die explizit in Codepunkten definiert ist. Verwenden Sie UTF-8-Bytes für Nutzlast-, Datenbank- oder API-Limits, die in codierten Bytes definiert sind. Keines von beiden sollte für ein Limit eingesetzt werden, das in Graphemclustern, Anzeigebreite, SMS-Segmenten oder Schriftzeichen definiert ist.
Dokumentieren Sie beim Durchsetzen eines Produktlimits die Einheit und die Normalisierungsform. Ein Benutzer sollte keinen Text verlieren, nur weil die Oberfläche „Zeichen“ sagt, während das Backend Bytes ablehnt.
Genauigkeit und Einschränkungen
Die Bytezählung verwendet speziell UTF-8; UTF-16, UTF-32, veraltete Codierungen, Komprimierung, Escaping, JSON-Syntax und Transport-Framing haben andere Größen. Das Werkzeug normalisiert keinen Text und zählt keine Graphemcluster, Wörter, Zeilen, Spalten, Glyphen oder gerenderte Breite.
Visuell identische Zeichenfolgen können unterschiedliche Codierungen haben – zum Beispiel ein vorkomponierter akzentuierter Buchstabe gegenüber einem Basisschriftzeichen plus kombinierendem Zeichen. Sicherheitsempfindliche Identifikatoren erfordern über die Länge hinaus eine dokumentierte Unicode-Richtlinie.
Quellen
- Unicode Standard, Chapter 2: General Structure unterscheidet Codepunkte, Codierungsformen und vom Benutzer wahrgenommene Textelemente.
- WHATWG Encoding Standard definiert das UTF-8-Codierungsverhalten, das die Textverarbeitung moderner Webplattformen verwendet.
Redaktioneller Nachweis
Autor: SoupCalc-Redaktionsteam
Zuletzt geprüft: 14. August 2026
Prüfungsumfang: Codepunkt-Iteration, UTF-16-Ersatzzeichenverhalten, UTF-8-Codierung, Graphem-Einschränkungen, Standardreferenzen und die A😀é-Zählungen 3, 4 und 7 wurden geprüft.