Skip to content

Unicode-Konverter

Beliebige Unicode-Schreibweise einfügen, Klartext zurücklesen. \uXXXX-Escapes, ES6-Klammern, U+ Codepunkte und Bytefolgen erkennt der Konverter selbst und listet alle übrigen Schreibweisen auf einmal. Läuft lokal im Browser.

Kein Tracking Läuft im Browser Kostenlos

Alles läuft in Ihrem Browser — Ihre Eingabe wird nie hochgeladen, protokolliert oder gespeichert.

0 Zeichen
Lesbarer Text
Das Ergebnis erscheint hier
Normalisieren
Alle Schreibweisen auf einmal
JavaScript / Java / JSON uXXXX
ES6 u{XXXXX}
Python uXXXX / UXXXXXXXX
Go uXXXX / UXXXXXXXX
Rust u{XXXXX}
Codepunkt U+XXXX
HTML dezimal &#NNNNN;
HTML hexadezimal &#xXXXX;
URL-kodiert %XX
CSS XXXXXX
UTF-8-Bytes hex
UTF-16-Code-Units hex
UTF-32 hex
Oktale Bytes NNN
Dezimale Codepunkte NNNNN
Zeichen für Zeichen
Zeichen Codepunkt UTF-8 UTF-16 Schrift Kategorie Name
Das Ergebnis erscheint hier

Kurzreferenz

Zeichen Codepunkt JavaScript / Java / JSON UTF-8-Bytes URL-kodiert HTML dezimal
中文 U+4E2D U+6587 \u4E2D\u6587 E4 B8 AD E6 96 87 %E4%B8%AD%E6%96%87 中文
😀 U+1F600 \uD83D\uDE00 F0 9F 98 80 %F0%9F%98%80 😀
A U+0041 A 41 A A
U+3000 U+3000 \u3000 E3 80 80 %E3%80%80  
Jede Umwandlung in der Referenztabelle wurde vor der Veröffentlichung zwischen zwei unabhängigen Implementierungen gegengeprüft. — Go-Tools Engineering-Team · Aug 27, 2026

Das Verhalten wurde gegen Node, Python, Java, Go und eine echte Browser-Engine geprüft, nicht aus der Dokumentation abgeleitet.

Was ist ein Unicode-Escape?

Ein Unicode-Escape schreibt ein Zeichen ausschließlich mit ASCII, damit es Systeme übersteht, die das Zeichen selbst nicht transportieren können. Dasselbe Zeichen hat in fast jeder Sprache ein anderes Escape: JavaScript und JSON nehmen vier Hex-Ziffern pro UTF-16-Code-Unit, ES6 und Rust setzen einen vollständigen Codepunkt in geschweifte Klammern, Python und Go kennen zusätzlich eine breite Form mit acht Ziffern, CSS kommt mit einem nackten Backslash aus, und HTML hat eigene numerische und benannte Referenzen. Alle beschreiben denselben Codepunkt. Genau deshalb erreicht Sie ein und dieselbe Zeichenkette in einem halben Dutzend Gestalten.

中文
  U+4E2D U+6587         code point
  \u4E2D\u6587          JavaScript / Java / JSON
  \u{4E2D}\u{6587}      ES6 / Rust
  E4 B8 AD E6 96 87     UTF-8
  %E4%B8%AD%E6%96%87    URL
  中文      HTML

Was dieser Konverter kann

Erkennt die Schreibweise für Sie

Escapes, geschweifte Klammern, breite Escapes, Codepunkte, Entitäten, Prozentkodierung und Bytefolgen werden ohne Moduswechsel erkannt.

Übersteht gemischte Eingaben

Nur die kodierten Teile ändern sich. JSON-Satzzeichen, Windows-Pfade und bereits maskierte Backslashes bleiben, wie sie sind.

Alle Schreibweisen auf einmal

Einmal einfügen, und die komplette Tabelle steht da. Sie wandeln nie zweimal um, nur um von einer Sprache in die andere zu kommen.

Pro Sprache korrekt

Zeichen außerhalb der BMP werden für Python und Go als breites Escape ausgegeben, wo ein Surrogatpaar scheitern würde.

Prüfung bis auf Zeichenebene

Codepunkt, UTF-8- und UTF-16-Bytes, Schrift und Kategorie für jedes einzelne Zeichen, dazu der Unicode-Name, sofern es einen gibt.

Macht unsichtbare Zeichen sichtbar

Byte Order Marks, Zero-Width-Joiner und geschützte Leerzeichen bekommen einen sichtbaren Platzhalter.

Beispiele

Eine Logzeile dekodieren, ohne den Rest anzufassen

{"msg":"\u4e2d\u6587 failed","code":500}
{"msg":"中文 failed","code":500}

Nur die Escape-Sequenzen ändern sich. Anführungszeichen, Schlüssel und Zahlen bleiben exakt so, wie sie waren. Sie können also eine ganze Logzeile einfügen, statt die Escapes von Hand herauszupicken.

Gemischte Schreibweisen in einem Durchgang

U+4E2D  \u{1F600}  中  \ud83d\ude00
中  😀  中  😀

Ein Codepunkt, ein ES6-Escape in geschweiften Klammern, eine HTML-Entität und ein Surrogatpaar, alles in einem Durchgang dekodiert. Vorher musste nichts ausgewählt und nichts eingestellt werden.

Ein Zeichen, jede Schreibweise

\u4E2D        JavaScript / Java / JSON
\u{4E2D}      ES6 / Rust
U+4E2D        code point
E4 B8 AD      UTF-8
\344\270\255  octal

Dasselbe Zeichen, geschrieben so, wie es jede Sprache erwartet. Beachten Sie, dass Python und Go für Zeichen außerhalb der BMP die breite Form brauchen: Ein Surrogatpaar lässt sich in Go nicht kompilieren und wirft in Python einen UnicodeEncodeError.

So verwenden Sie den Unicode-Konverter

  1. 1

    Einfügen

    Escapes, Codepunkte, Entitäten, kodierte Bytes oder einfachen Text hineinwerfen. Sie müssen nicht angeben, was davon es ist.

  2. 2

    Ergebnis lesen

    Der lesbare Text erscheint sofort, dazu ein Hinweis darauf, welche Darstellungen erkannt wurden.

  3. 3

    Die passende Form kopieren

    Unter dem Ergebnis steht jede Schreibweise, jede mit eigenem Kopieren-Button.

  4. 4

    Nachsehen, wenn etwas nicht stimmt

    Öffnen Sie die Zeichentabelle für Codepunkte, Bytes, Schrift und Namen, und schalten Sie „Unsichtbare Zeichen anzeigen“ ein, um versteckte Zeichen sichtbar zu machen.

Fehler, die man kennen sollte

Ein Surrogatpaar schreiben, wo die Sprache ein breites Escape will

Ein Paar, das in JSON funktioniert, wird in Python zu zwei kaputten Hälften und lässt sich in Go nicht kompilieren. Für Zeichen oberhalb von U+FFFF die breite Form nehmen.

✗ Falsch
\ud83d\ude00
✓ Richtig
\U0001F600

Numerische HTML-Referenzen als reine Codepunkte dekodieren

Referenzen zwischen 128 und 159 müssen über windows-1252 gelesen werden. Eine naive Implementierung macht aus einem rechten einfachen Anführungszeichen ein unsichtbares Steuerzeichen. Genau deshalb steht in alten Exporten an diesen Stellen überhaupt nichts mehr.

✗ Falsch
’  ->  U+0092
✓ Richtig
’  ->  U+2019

Ein kurzes CSS-Escape vor einem Hex-Zeichen verwenden

Der Parser frisst weiter Hex-Ziffern, Escape und Folgezeichen verschmelzen zu einem einzigen falschen Codepunkt. Auf sechs Ziffern auffüllen.

✗ Falsch
\4E2Da
✓ Richtig
\004E2Da

Wann Sie ihn brauchen

Logs lesen
In Serverlogs und API-Antworten steckt Nicht-ASCII häufig escapt. Zeile einfügen und lesen, ohne sie vorher zu bearbeiten.
Zeichenketten zwischen Sprachen umziehen
Kopieren Sie das Escape genau in der Form, die die Zielsprache akzeptiert, statt von Hand zwischen Surrogatpaaren und breiten Escapes umzurechnen.
Einem Kodierungsfehler nachgehen
Wenn ein Vergleich fehlschlägt oder die Datenbank einen Wert ablehnt, zeigt die Zeichentabelle genau, welche Codepunkte und Bytes im Spiel sind.
Eingefügte Inhalte säubern
Text aus einer Webseite oder einem Dokument schleppt oft unsichtbare Zeichen mit. Finden Sie sie, bevor sie in Produktion landen.

Technische Details

Code-Units, nicht Zeichen
JavaScript, Java und JSON maskieren UTF-16-Code-Units, ein Zeichen oberhalb von U+FFFF braucht also zwei Escapes. Python und Go bieten stattdessen eine Form mit acht Ziffern, die den Codepunkt direkt aufnimmt.
Numerische HTML-Referenzen werden umgelegt
Die HTML-Spezifikation verlangt, dass numerische Referenzen im Bereich 128 bis 159 über windows-1252 gelesen werden statt als Codepunkte. Eine Referenz wie 146 ist deshalb ein rechtes einfaches Anführungszeichen und kein unsichtbares Steuerzeichen.
CSS-Escapes brauchen Auffüllung
Ein CSS-Escape verschluckt bis zu sechs Hexadezimalziffern. Ein kurzes Escape, auf das ein Hex-Zeichen folgt, verschmilzt daher zu einem einzigen falschen Codepunkt. Auffüllen auf sechs Ziffern beseitigt die Mehrdeutigkeit, und ein nachfolgendes Leerzeichen wird als Abschluss geschluckt.
Einzelne Surrogate verhalten sich überall anders
Ein ungepaartes Surrogat bleibt bei der JSON-Serialisierung erhalten, wird von TextEncoder still ersetzt, von der Prozentkodierung abgelehnt, von Java als Fragezeichen geschrieben und von Python als Fehler geworfen.

Best Practices für Unicode

Vor dem Vergleichen normalisieren
Legen Sie beide Seiten auf dieselbe Normalisierungsform, bevor Sie vergleichen oder Duplikate entfernen. Bei Namen und Bezeichnern lohnt sich das besonders.
Für Python und Go die breite Form nehmen
Ein Surrogatpaar ist in JSON gültig, geht aber in beiden Sprachen kaputt. Nutzen Sie das Escape mit acht Ziffern, wenn das Ziel Python- oder Go-Quelltext ist.
Früh auf unsichtbare Zeichen prüfen
Prüfen Sie eingefügte Werte gleich an der Systemgrenze, statt später zu suchen, warum zwei scheinbar gleiche Zeichenketten nicht gleich sind.
Das Original aufheben
Sobald Ersetzungszeichen auftauchen, ist Dekodieren nicht mehr verlustfrei umkehrbar. Behalten Sie den Rohwert, bis Sie sicher sind.

Häufige Fragen zum Unicode-Konverter

Was bedeutet \u4e2d\u6587 und wie lese ich das?
Jedes \uXXXX ist eine UTF-16-Code-Unit in hexadezimaler Schreibweise. \u4e2d steht für U+4E2D, \u6587 für U+6587; zusammen ergeben die beiden Zeichen das chinesische Wort für „Chinesisch“. Fügen Sie die ganze Zeichenkette oben ein, dann kommt der lesbare Text zurück. Das umgebende JSON oder der Logtext bleibt unangetastet.
Die Backslashes sind weg, übrig ist nur u4e2d. Lässt sich das noch dekodieren?
Ja. Terminals und Log-Pipelines schlucken Backslashes regelmäßig. Ein nacktes u4e2du6587 wird erkannt und dekodiert, während gewöhnliche Wörter, in denen zufällig ein u steckt, unangetastet bleiben.
Warum steht ein Emoji als zwei \u-Escapes da?
Zeichen oberhalb von U+FFFF passen nicht in eine einzelne UTF-16-Code-Unit, deshalb schreiben JavaScript, Java und JSON sie als Surrogatpaar. Ein grinsendes Gesicht ist ein Codepunkt, zwei UTF-16-Code-Units und vier UTF-8-Bytes. Die Zeichentabelle zeigt alle drei Zahlen nebeneinander.
Wie gehe ich den umgekehrten Weg und mache aus Text Escapes?
Tippen oder fügen Sie einfachen Text ein und lesen Sie die Tabelle unter dem Ergebnis. Alle Schreibweisen entstehen gleichzeitig, Sie kopieren also direkt die Form, die Ihre Sprache erwartet, statt zweimal umzuwandeln.
Zwei Zeichenketten sehen gleich aus, mein Code sagt aber, sie seien verschieden. Warum?
Vermutlich sind sie unterschiedlich normalisiert. Ein Buchstabe mit Akzent kann ein einzelner Codepunkt sein oder ein Grundbuchstabe plus kombinierendes Zeichen; beides wird identisch dargestellt, ist aber nicht gleich. Mit der NFC-Schaltfläche legen Sie beide Seiten auf dieselbe Form. Und auch bei CJK bleibt Normalisierung nicht folgenlos: Kompatibilitätsideogramme ändern sich unter einfachem NFC.
In meiner Zeichenkette steckt etwas Unsichtbares, das meinen Code kaputtmacht. Wie finde ich es?
Schalten Sie „Unsichtbare Zeichen anzeigen“ ein. Byte Order Marks, Zero-Width-Spaces, geschützte Leerzeichen und Variantenselektoren bekommen einen sichtbaren Platzhalter, und die Zeichentabelle nennt jedes davon beim Namen und gibt seine Bytes an.
Werden meine Daten irgendwohin hochgeladen?
Nein. Die Umwandlung passiert in Ihrem Browser, ohne eine einzige Netzwerkanfrage. Nichts wird hochgeladen, protokolliert oder gespeichert, Sie können also bedenkenlos Produktionslogs einfügen.

Verwandte Werkzeuge

Alle Werkzeuge anzeigen →