Text-zu-Unicode-Konverter

Konvertieren Sie Text in Unicode-Code-Punkte, HTML-Entities oder JavaScript-Escape-Sequenzen und decodieren Sie sie zurück. Volle Astral-Ebene und Emoji-Unterstützung.

Text in Unicode-Code-Punkte und zurück konvertieren. Wählen Sie HTML-Entities, JavaScript-Escapes oder U+-Notation. Beide Bereiche sind editierbar, und Zeichen außerhalb der Basic Multilingual Plane — einschließlich jedem Emoji — werden als einzelne Code-Punkte statt als Ersatzpaare behandelt.

Code-Punkte, Kodierungen und Ersatzpaare

Ein Code-Punkt ist kein Byte

Unicode weist jedem Zeichen eine Nummer zu, genannt Code-Punkt, geschrieben U+ gefolgt von Hexadezimalziffern. A ist U+0041, ist U+8702 und das Honigbienen-Emoji ist U+1F41D. Diese Nummer ist die Identität des Zeichens. Wie es gespeichert wird — UTF-8, UTF-16, UTF-32 — ist eine separate Entscheidung, weshalb dieses Tool vom Text-zu-Binär-Konverter verschieden ist.

Die Ersatzpaar-Falle

JavaScript-Strings sind UTF-16. Code-Punkte über U+FFFF werden als zwei 16-Bit-Hälften gespeichert, genannt Ersatzpaar. Naiver Code, der mit charCodeAt schleift, sieht ein Emoji als zwei sinnlose Werte um 0xD800-0xDFFF und meldet "🐝".length als 2. Dieser Konverter iteriert nach Code-Punkt, also erzeugt das Bienen-Emoji einen Wert, U+1F41D, nicht zwei kaputte Hälften.

Die vier Ausgabeformate

  • HTML-Dezimal-EntityA. Funktioniert in jedem HTML-Dokument und in XML.
  • HTML-Hex-EntityA. Dasselbe in Hexadezimal, passend zur Schreibweise der Unicode-Tabellen.
  • JavaScript-Escape\u0041. Für Zeichenketten-Literale in Quellcode. Über U+FFFF ist die geschweifte Form \u{1F41D} erforderlich, und das Tool gibt sie automatisch aus.
  • Code-Punkt-NotationU+0041. Die Form in Spezifikationen und Dokumentation.

Praktische Nutzung

Nicht-ASCII-Text als Entities zu escapen lässt ihn Systeme überleben, die Kodierungen verstümmeln, wie ältere E-Mail-Gateways oder falsch konfigurierte Datenbanken. Code-Punkte zu inspizieren ist zudem der schnellste Weg, unsichtbare Zeichen zu diagnostizieren: ein Leerzeichen ohne Breite (U+200B) oder ein geschütztes Leerzeichen (U+00A0) sieht auf dem Bildschirm gleich aus wie ein normales Leerzeichen, bricht aber String-Vergleiche. Fügen Sie verdächtigen Text hier ein, und der Unterschied ist sofort sichtbar.

Open-Source-Hinweis: implementiert mit nativem JavaScript String.prototype.codePointAt und String.fromCodePoint. Es wird keine Drittanbieter-Bibliothek verwendet.

FAQs

Warum erzeugt ein Emoji einen einzelnen U+1F41D statt zwei Werten?
Der Konverter iteriert nach Code-Punkt statt nach UTF-16-Code-Einheit. Emojis leben über U+FFFF, also spalten naive Zeichenschleifen sie in Ersatzpaare; dieser hier nicht.
Was ist der Unterschied zwischen diesem und dem Text-zu-Binär-Tool?
Dieses Tool zeigt Code-Punkte, die abstrakte Identität jedes Zeichens. Das Binär-Tool zeigt die UTF-8-Bytes, mit denen sie gespeichert werden. Ein Zeichen kann ein Code-Punkt aber drei Bytes sein.
Kann ich eine Mischung von Formaten decodieren?
Ja. Der Decoder erkennt &#..;, &#x..;, \uXXXX, \u{...} und U+.... in derselben Eingabe, und Text zwischen Escapes wird unverändert beibehalten.
Wie finde ich unsichtbare Zeichen in einer Zeichenfolge?
Fügen Sie sie ein und wechseln Sie zu U+-Notation. Leerzeichen ohne Breite erscheinen als U+200B, geschützte Leerzeichen als U+00A0 und Byte-Ordnungsmarken als U+FEFF — alle unsichtbar auf dem Bildschirm, aber hier offensichtlich.
Sind HTML-Entities sicher, direkt in eine Seite zu setzen?
Ja, numerische Zeichenreferenzen sind gültig in HTML und XML. Beachten Sie, dass sie nur die Zeichen selbst escapen; sie ersetzen nicht das ordnungsgemäße HTML-Escapen von <, > und & in nicht vertrauenswürdigen Inhalten.
Verlässt etwas meinen Browser?
Nein. Die Konvertierung ist reine String-Manipulation, lokal ausgeführt.