Unicode-Escape-Konverter

Text lässt sich hier als \uXXXX-Sequenzen, dezimale oder hexadezimale HTML-Zeichenreferenzen darstellen. Der gemeinsame Decoder erkennt diese Formen auch gemischt im Text; das gewählte Ausgabeformat spielt dabei keine Rolle. Eine Umwandlung von UTF-8-Bytes findet nicht statt.

Läuft lokal in deinem Browser

Ausgabeformat wählen und Text kodieren

Die Eingabe erfolgt durch Einfügen von Text, ohne Datei-Upload oder Stapelverarbeitung. Die Konvertierung läuft im Browser und überträgt den Eingabetext nicht in Netzwerkanfragen.

  1. Unicode-Escapes, Dezimalreferenzen oder Hexadezimalreferenzen auswählen und anschließend Text kodieren anklicken.
  2. Zum Lesen vorhandener Sequenzen den Befehl Sequenzen dekodieren verwenden. Er verarbeitet alle drei erkannten Formen unabhängig von der Formatauswahl.
  3. Das Ergebnis kopieren. Eine geänderte Eingabe, ein Formatwechsel oder ein Fehler entfernt die alte Ausgabe und deaktiviert Kopieren. Leeren behält das Format bei. Für einen weiteren Schritt das Ergebnis selbst wieder in die Eingabe einfügen.

Was die drei Schreibweisen unterscheidet

Vier Stellen pro UTF-16-Codeeinheit

Im Unicode-Modus wird jede Codeeinheit als \u mit genau vier hexadezimalen Ziffern ausgegeben; Buchstaben sind kleingeschrieben. Umschließende Anführungszeichen werden nicht ergänzt. A ergibt \u0041, Ā ergibt \u0100 und ein tatsächlicher LF-Zeilenumbruch ergibt \u000a. Für 😀 sind zwei Escapes nötig: \ud83d\ude00.

Numerische Referenzen verwenden dagegen vollständige Codepunkte: A你😀 wird zu A你😀 oder A你😀. Hexadezimale Referenzen haben keine feste Stellenzahl und verwenden Großbuchstaben als Hexziffern. Auch Buchstaben und Leerzeichen werden kodiert.

Erkannte Textstellen werden einmal ersetzt

Der Decoder erkennt \u mit kleinem u und vier Hexziffern sowie dezimale und hexadezimale Referenzen mit abschließendem Semikolon. Bei Hexreferenzen sind &#x und &#X erlaubt; Hexziffern dürfen groß- oder kleingeschrieben sein. Die gemischte Eingabe \u0041你😀 ergibt A你😀.

\u005cu0041 ergibt den wörtlichen Text \u0041, und A ergibt A, nicht A. Neu entstandene Sequenzen werden nicht erneut gelesen. Der Konverter ist kein vollständiger JavaScript- oder JSON-Parser. Er führt keinen Code aus und zeigt das Ergebnis als Text statt als HTML an.

Strikte HTML-Prüfung ist formatabhängig

he 1.2.0 prüft nur das Kodieren numerischer Referenzen und deren Dekodierung nach strikten HTML-Regeln. Für Unicode-Escapes gelten diese Regeln nicht: NUL, U+0080 und U+FFFF lassen sich in diesem Modus kodieren und über \u dekodieren; die numerische Kodierung weist sie zurück. Alle Kodiermodi und das dekodierte Ergebnis müssen frei von ungepaarten Surrogaten sein.

\uD83D\uDE00 wird zu 😀. Die numerischen Surrogatreferenzen �� werden hingegen abgewiesen, ebenso wie �, € und �.

Fragen zu Unicode-Escapes

Warum bleibt scheinbar fehlerhafte Eingabe stehen?

Nicht erkannte Formen bleiben unverändert, etwa \uZZZZ, \u{41}, \U0041, \n, &, &#xZZ; und &#65 ohne Semikolon. Auch 65 66 wird nicht als Zeichenliste gelesen. Eine erkannte numerische Referenz kann dagegen an der strikten Prüfung scheitern.

Lässt sich der ursprüngliche Text immer wiederherstellen?

Leerzeichen werden nicht abgeschnitten; Unicode-Normalisierung findet nicht statt. Leere Eingabe ergibt leere Ausgabe. Das Textfeld vereinheitlicht jedoch tatsächliche CRLF- und CR-Zeilenumbrüche zu LF. Zudem kann der Kern CR als 
 kodieren, während die strikte numerische Dekodierung 
 ablehnt. Eine verlustfreie Rückumwandlung jeder Eingabe ist daher nicht zugesichert.

Zuletzt verwendet: