onlinetools.dev

Unicode-Zeichen-Inspektor

Codepoints, UTF-8/UTF-16-Bytes und Escapes jedes Zeichens ansehen

LĂ€uft lokal
loading

Über dieses Tool

FĂŒge beliebigen Text ein und sieh jedes Zeichen seziert: Codepoint (U+XXXX), UTF-8-Bytes, UTF-16-Einheiten, JavaScript-Escape-Sequenz, HTML-Entity und allgemeine Kategorie — plus Summen fĂŒr Codepoints, UTF-16-Einheiten, UTF-8-Bytes und wahrgenommene Zeichen (Graphem-Cluster).

Das ist das Tool fĂŒr „Warum ist dieser String so seltsam?“-Momente: Unsichtbare Zeichen (Zero-Width-Spaces, BOMs, Richtungsmarken) tauchen als sichtbare Zeilen auf; verwechselbare Zeichen (kyrillisches а vs. lateinisches a) offenbaren unterschiedliche Codepoints; und ein Emoji, das „ein Zeichen ist“, entpuppt sich als sieben Codepoints, verbunden durch Zero-Width-Joiners.

Die vier verschiedenen LĂ€ngensummen beantworten die ewige Frage, warum JavaScripts .length, ein Datenbank-Byte-Limit und das, was der Nutzer sieht, sich ĂŒber die LĂ€nge eines Strings uneins sind.

HĂ€ufige Fragen

Warum ist "🎉".length === 2 in JavaScript?
JavaScript-Strings zĂ€hlen UTF-16-Code-Units. Zeichen jenseits von U+FFFF — darunter die meisten Emoji — brauchen ein Surrogatpaar, also zwei Einheiten. Der Inspector zeigt beide Einheiten und den echten Codepoint, und die Zusammenfassung zĂ€hlt sie getrennt.
Was ist ein Graphem-Cluster?
Das, was ein Leser als ein Zeichen wahrnimmt. Ă© kann zwei Codepoints sein (e + kombinierender Akzent), und Familien-Emoji können sieben oder mehr sein, verbunden durch Zero-Width-Joiners. Die Graphem-ZĂ€hlung nutzt den Intl.Segmenter des Browsers — das NĂ€chste an „Zeichen, wie Nutzer sie sehen“.
Wie finde ich unsichtbare Zeichen in einem String?
FĂŒge ihn hier ein — jeder Codepoint bekommt eine Zeile, inklusive Zero-Width-Spaces (U+200B), geschĂŒtzter Leerzeichen (U+00A0), BOMs (U+FEFF) und Richtungsmarken, jeweils mit Kategorie beschriftet. Das sind die klassischen ÜbeltĂ€ter hinter „identischen“ Strings, die GleichheitsprĂŒfungen nicht bestehen.
Was sagen mir die UTF-8-Bytesequenzen?
Genau das, was gespeichert oder ĂŒbertragen wird: ASCII ist ein Byte, die meisten lateinischen Erweiterungen zwei, CJK drei, Emoji vier. Schneidet ein System mitten in einer Sequenz ab, bekommst du Ersetzungszeichen (ïżœ) — die Byte-Ansicht zeigt, wo solche Schnitte landen wĂŒrden.
Verwandte Tools