Unicode Escape / Unescape
Understand Unicode Escape / Unescape
Unicode-Escaping schreibt Nicht-ASCII-Zeichen als \uXXXX-Codes um, damit Text Dateien, Felder und Systeme übersteht, die nur reines ASCII akzeptieren.
How it works
Jedes Zeichen oberhalb von Codepoint 127 wird durch einen Backslash mit u und seinem hexadezimalen Codepoint ersetzt, aus é (U+00E9) wird also \u00E9. Zeichen oberhalb von U+FFFF – Emoji und die meisten historischen Schriften – passen nicht in vier Hexziffern, deshalb gibt das Tool die ES2015-Klammerform \u{1F30D} aus. ASCII-Zeichen bleiben exakt so, wie sie waren, was die Ausgabe lesbar und diff-fähig hält.
When to use it
- Nicht-ASCII-Text in eine Java-.properties-Datei oder eine Quelldatei einfügen, deren Kodierung Sie nicht kontrollieren.
- Herausfinden, welches Zeichen tatsächlich in einer Zeichenkette steht, wenn zwei ähnlich aussehende – ein Bindestrich und ein Halbgeviertstrich, ein Leerzeichen und ein geschütztes Leerzeichen – einen Vergleich scheitern lassen.
- Ein Regex oder eine Test-Fixture schreiben, in der ein unsichtbares Zeichen auf der Seite sichtbar sein muss.
- Text an ein Altsystem oder eine auf ASCII beschränkte Datenbankspalte senden.
Watch out for
- Die Klammerform \u{1F30D} ist gültiges JavaScript und ungültiges JSON. JSON verlangt für dasselbe Zeichen das Surrogatpaar \uD83C\uDF0D, escapte Emoji lassen sich also nicht direkt in eine .json-Datei einfügen.
- Escaping ändert nicht die Zeichenkette, sondern nur ihre Schreibweise. Zwei Zeichenketten, die identisch aussehen, können sich dennoch unterscheiden – é ist entweder ein Codepoint (U+00E9) oder ein e gefolgt von einem kombinierenden Akzent (U+0065 U+0301) –, und Escaping zeigt, welche der beiden vorliegt.
- \uXXXX, \xXX und %XX sind drei verschiedene Dinge: ein Codepoint, ein Byte und ein URL-Escape. Sie zu vermischen ist eine geläufige Quelle von Mojibake.
Frequently Asked Questions
Was sind Unicode-Escape-Sequenzen?
Unicode-Escapes stellen Zeichen über ihre Codepoints dar: \u0041 = "A", \u1F600 = 😀. Sie kommen in JavaScript-String-Literalen, JSON-Dateien, Java-Properties und CSS-content-Werten vor, um jedes beliebige Zeichen sicher in ASCII-Quelltext abzubilden.
Was ist der Unterschied zwischen \u und \u{}?
\uXXXX (4 Hexziffern) deckt die Basic Multilingual Plane (U+0000–U+FFFF) ab. Zeichen oberhalb von U+FFFF (Emoji, seltene Symbole) benötigen Surrogatpaare (zwei \uXXXX-Sequenzen) oder das moderne erweiterte Escape \u{XXXXXX}, das ab ES2015 unterstützt wird.
Wo tauchen Unicode-Escapes in echtem Code auf?
Entwickler nutzen Escapes in Regex-Mustern (\u0041), in Java-.properties-Dateien, in JSON-Payloads an reine ASCII-Systeme, in Datenbankfeldern mit eingeschränktem Zeichensatz und beim Einbetten von Text in Quelldateien, wenn die IDE kein Nicht-ASCII unterstützt.
How to Use Unicode Escape / Unescape
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.