Text
String Escape
Text in ein String-Literal escapen (Anführungszeichen, Backslash, Steuerzeichen) zum Einfügen in Code, oder das Escaping rückgängig machen.
Um Text mit Anführungszeichen, Zeilenumbrüchen oder Backslashes in ein String-Literal im Code einzufügen, müssen diese Zeichen escaped werden — sonst beenden sie den String vorzeitig oder werden falsch interpretiert. Dieses Tool escaped und unescaped Text für eine bestimmte Syntax.
So verwendest du es
- Escapen: Füge Text ein und wähle einen Zielkontext (JS-String, JSON, Shell usw.) — Sonderzeichen werden durch die passenden Escape-Sequenzen ersetzt.
- Unescapen: Füge einen bereits escapten String ein, um den Originaltext zurückzuerhalten.
- Unterschiedliche Kontexte escapen dasselbe Zeichen unterschiedlich — stelle sicher, dass du den Modus passend zur tatsächlichen Einfügestelle gewählt hast.
Typische Anwendungsfälle
- Mehrzeiligen Text oder Text mit Anführungszeichen in eine Code-Variable einfügen, ohne Backslashes manuell zu setzen.
- Einen String für einen Shell-Befehl vorbereiten, bei dem Anführungszeichen und Sonderzeichen die Ausführung stören können.
- Einen aus Logs oder einer JSON-Antwort kopierten String unescapen, um den Originaltext zu lesen.
Was du wissen solltest
Dasselbe Zeichen (etwa ein doppeltes Anführungszeichen) wird je nach Kontext unterschiedlich escaped — ein JS-String, JSON und eine Shell haben jeweils eigene Syntax und eigene Sonderzeichen.
Doppeltes Escaping (bereits escapten Text nochmals escapen) ist ein häufiger Fehler, wenn Daten durch mehrere Schichten laufen, etwa JSON innerhalb eines Shell-Befehls.
Artikel zu diesem Tool: String Escape: warum derselbe Text unterschiedlich escaped werden muss
Häufig gestellte Fragen
Was genau macht das Escaping?
Es verwandelt Anführungszeichen, Backslashes und Steuerzeichen (wie Zeilenumbrüche oder Tabs) in gültige Escape-Sequenzen innerhalb eines String-Literals, sodass der Text unverändert in Quellcode eingefügt werden kann.
Wofür sind der Anführungszeichenstil und die Unicode-Option?
Der Anführungszeichenstil (doppelt, einfach oder Backtick) bestimmt, welches Zeichen escaped wird, damit der String nicht zerbricht, und die \uXXXX-Option wandelt Nicht-ASCII-Zeichen in escapte Unicode-Sequenzen um, anstatt sie unverändert zu lassen.
Wird der eingefügte Text an einen Server gesendet?
Nein, Escaping und dessen Rückgängigmachen laufen vollständig im Browser über JavaScript ab, es werden keine Daten online gesendet.
Was tun, wenn der Text nacheinander durch mehrere Kontexte läuft?
Es muss in der richtigen Reihenfolge escaped werden: zuerst für den inneren Kontext (etwa JSON), dann für den äußeren (etwa den Shell-Befehl, in den dieses JSON eingefügt wird). Eine vertauschte Reihenfolge oder eine ausgelassene Ebene ist eine typische Ursache dafür, dass ein „korrekt escapter" String in der Praxis trotzdem bricht.
Warum wird dasselbe Anführungszeichen in verschiedenen Kontexten unterschiedlich escaped?
Jeder Kontext (JS-String, JSON, Shell, Regex) hat seine eigene Syntax mit einem eigenen Satz an Sonderzeichen und einer eigenen Art, sie zu escapen — daher hängt das korrekte Escaping davon ab, wohin der Text genau eingefügt wird, nicht vom Text selbst.