String Escapen & Unescapen

Escapen Sie Sonderzeichen in Zeichenketten für JSON, JavaScript, Java, Python oder XML — und machen Sie es rückgängig. Unterstützt alle gängigen Programmiersprachen.

Funktionen

JSON-Escaping
JavaScript-Escaping
Java-Escaping
Python-Escaping
XML-Escaping

Anleitung

1. Wählen Sie die Sprache (JSON, JavaScript, Java, Python, XML).

2. Wählen Sie Escapen oder Unescapen.

3. Fügen Sie Ihre Zeichenkette ein und kopieren Sie das Ergebnis.

Über dieses Werkzeug

Sonderzeichen wie Anführungszeichen, Backslashes und Zeilenumbrüche müssen als Escape-Sequenzen geschrieben werden, bevor sie in einem String-Literal in Code oder Daten stehen dürfen. Die Regeln unterscheiden sich je nach Sprache – genau dort verursacht kopierter Text Syntaxfehler und kaputte Konfigurationen. Dieses Werkzeug maskiert Text für fünf Ziele oder hebt die Maskierung auf: JSON, JavaScript, Java, Python und XML. Die JSON-Maskierung folgt JSON.stringify, sodass Anführungszeichen, Backslashes und Steuerzeichen zu \", \\, \n und \u-Escapes werden; die Modi für JavaScript, Java und Python behandeln Anführungszeichen, Backslashes und gängige Steuerzeichen für ihre jeweiligen String-Literale; XML wandelt &, <, >, " und ' in Entitäten um. Text einfügen, Sprache und Richtung wählen, Ergebnis in den Code kopieren.

Häufig gestellte Fragen

Wann muss ich einen String maskieren?
Immer dann, wenn Text in ein String-Literal oder Datenformat eingefügt wird, das bestimmte Zeichen als Syntax verwendet – etwa ein Anführungszeichen in einem JSON-Wert, ein Backslash in einem Windows-Pfad in JavaScript oder ein kaufmännisches Und in XML.
Was unterscheidet JSON- und JavaScript-Maskierung?
JSON-Strings müssen doppelte Anführungszeichen verwenden und Steuerzeichen als \n, \t oder \u00XX maskieren. JavaScript erlaubt auch Strings in einfachen Anführungszeichen und Template-Strings, seine Maskierung behandelt daher zusätzlich einfache Anführungszeichen und kann Steuerzeichen als \x-Escapes schreiben.
Wie werden Zeilenumbrüche nach dem Maskieren dargestellt?
Ein echter Zeilenumbruch wird zu den zwei Zeichen \n (ein Wagenrücklauf zu \r), sodass der ganze Text in eine Codezeile passt. Beim Aufheben der Maskierung werden daraus wieder echte Zeilenumbrüche.
Reicht Maskieren aus, um Injection-Angriffe zu verhindern?
Kontextgerechtes Maskieren hilft, doch für SQL sollten Sie parametrisierte Abfragen verwenden, für HTML die Templates Ihres Frameworks, und bei Shell-Befehlen keine Strings aus Nutzereingaben zusammensetzen. Manuelles Maskieren geht leicht schief.
Warum bleiben beim Aufheben der Maskierung manche Sequenzen unverändert?
Es werden nur Sequenzen umgewandelt, die in der gewählten Sprache gültig sind. Wurde ein String für eine andere Sprache maskiert, etwa XML-Entitäten im JSON-Modus, wechseln Sie zuerst in den passenden Modus.

Verwandte Werkzeuge