String-Escaper / -Unescaper
Strings für JSON, JavaScript, Java, XML, SQL und CSV escapen oder unescapen
Über dieses Tool
Verwandle einen mehrzeiligen String mit Anführungszeichen in etwas, das du in einen JSON-Wert, ein JavaScript-Literal, einen Java-String, einen XML-Textknoten, ein SQL-Literal oder eine CSV-Zelle einfügen kannst — und kehre den Prozess um, wenn du escapten Text in einer Logdatei findest und ihn lesen willst. Sechs Dialekte, beide Richtungen.
Jeder Dialekt folgt seiner tatsächlichen Spezifikation statt einem kleinsten gemeinsamen Nenner: JSON escapet Steuerzeichen als \uXXXX, JavaScript escapet zusätzlich einfache Anführungszeichen und Backticks, Java kodiert Nicht-ASCII als UTF-16-\u-Sequenzen, SQL verdoppelt einfache Anführungszeichen, CSV umschließt und verdoppelt gemäß RFC 4180, und XML nutzt seine fünf vordefinierten Entities. Der Unescaper versteht die Formen \x, \u und \u{…} und meldet fehlerhafte Sequenzen mit ihrer Position.
Escapte Strings sind häufig Connection Strings, Tokens und Query-Fragmente. Das hier läuft lokal — füge unbesorgt ein.
Häufige Fragen
- Welchen Dialekt brauche ich für eine JSON-Config-Datei?
- JSON. Er escapet doppelte Anführungszeichen, Backslashes und Steuerzeichen exakt so, wie RFC 8259 es verlangt, und lässt Unicode lesbar. Die Ausgabe passt in jeden JSON-String-Wert — ohne die umschließenden Anführungszeichen, die das Tool dir überlässt.
- Was ist der Unterschied zwischen den Dialekten JSON und JavaScript?
- JavaScript escapet zusätzlich einfache Anführungszeichen und Backticks, damit das Ergebnis in allen drei JS-Quoting-Stilen sicher ist. JSON braucht nur die Behandlung doppelter Anführungszeichen. Das Unescapen akzeptiert beide, plus die Formen \x und \u{…}, die JSON nicht definiert.
- Macht SQL-Escaping Nutzereingaben sicher fürs Konkatenieren?
- Es erzeugt ein korrektes SQL-String-Literal (Anführungszeichen verdoppelt), aber Escapen-und-Konkatenieren bleibt für nicht vertrauenswürdige Eingaben das falsche Muster — nutze parametrisierte Queries. Dieses Tool ist für Fixtures, Migrationen und Debugging gedacht, nicht als Injection-Abwehr.
- Warum schlägt das Unescapen meines Strings fehl?
- Ein Backslash gefolgt von etwas, das kein definiertes Escape ist (\q, ein abgeschnittenes \u12), ist fehlerhaft, und der Fehler nennt den betroffenen Index. Enthält dein Text literale Windows-Pfade, escape ihn zuerst — C:\temp ist ein Tab in Verkleidung.