String-Escape & -Unescape
Escapen und un-escapen Sie Strings für JavaScript, JSON, SQL, HTML, URLs und reguläre Ausdrücke — Kontext wählen und los.
Was ist String-Escaping?
Jede textbasierte Syntax – JSON, SQL, HTML, URLs, Regex – hat Sonderzeichen, die etwas anderes als sich selbst bedeuten. Ein nicht-escapetes ' in einem SQL-String kann eine Abfrage zerschießen (oder dich für Injection öffnen). Ein nicht-escapetes < in HTML zeichnet ein Tag. Ein wörtliches ? in einer URL wird zum Query-Trenner. Escaping wandelt diese Zeichen in eine sichere Form um, die der Parser als das Originalzeichen zurückliest. Entescapen ist die Umkehrung – einen JSON- oder HTML-String zurück in seine Klartextform bringen.
So nutzt du das Escape-Tool
Wähle einen Kontext passend zur Syntax – JavaScript, JSON, SQL, HTML, URL-Komponente oder Regex-Literal. Wähle Escapen, um Klartext in die kontextsichere Form zu konvertieren, oder Entescapen für die Umkehrung. Füge deine Eingabe ein. Die Ausgabe aktualisiert live, mit Zeichenanzahl. Jeder Kontext nutzt seine Regeln präzise: JS verwendet \n, \t, \"; SQL verdoppelt einfache Anführungszeichen; HTML verwendet Entities; URL nutzt Prozent-Kodierung.
Den richtigen Kontext wählen
Soll der String in JavaScript-Code eingebettet werden, nimm JavaScript. In einem JSON-Wert (z. B. Config oder API-Payload) JSON – es ist strenger als JS. HTML ist richtig für Inhalt, der auf einer Seite gerendert wird (auch sicher in HTML-Attributwerten). URL ist für einzelne Query-Parameter-Werte, nicht für ganze URLs (die schon :// und ? als Strukturzeichen enthalten). Regex escapet einen Literal-String für die Verwendung in einem regulären Ausdruck – nützlich beim wortwörtlichen Matchen von Nutzereingaben.
Beispiele nach Kontext
| Kontext | Eingabe | Ausgabe |
|---|---|---|
| JavaScript | It's "fine" | It\'s \"fine\" |
| JSON | line1\nline2 | line1\\nline2 |
| SQL | O'Brien | O''Brien |
| HTML | <b> & "x" | <b> & "x" |
| URL | a b/c?d=1 | a%20b%2Fc%3Fd%3D1 |
| Regex | 3.14 (pi) | 3\.14 \(pi\) |
Häufig gestellte Fragen
Warum gibt es JavaScript- und JSON-Modi getrennt?
\', \v, \0, keine Hex-Escapes (\xHH) und keine ungestützten Steuerzeichen. JS ist freizügiger. Baust du ein JSON-Dokument, nimm JSON; bettest du einen String in .js-Quelltext ein, nimm JavaScript. Verwechsle sie nicht – sonst entstehen Strings, die einen JSON-Parser zum Absturz bringen.Soll ich das gegen SQL-Injection nutzen?
Was ist der Unterschied zwischen encodeURIComponent und encodeURI?
?, &, =, / und ähnliche prozent-kodiert – sicher als Query-Parameter-Wert. Ganze-URL-Kodierung lässt diese Zeichen unverändert, weil sie strukturelle Bedeutung haben. Kodierst du einen Wert, der nach einem = in einer URL steht, ist dieser Modus richtig.Liefert HTML-Escape attribut- oder content-sichere Ausgabe?
<, >, &, " und ' – eine Obermenge der jeweils streng erforderlichen Zeichen, daher in Element-Inhalten und allen Attributen (einfach- oder doppelt-anführungs-bequotet) sicher.Was escapet der Regex-Modus?
\, ^, $, ., *, +, ?, (, ), [, ], {, }, |, /, -. Das Ergebnis kannst du in einem Regex zum wortwörtlichen Matching des Originalstrings verwenden – praktisch bei Nutzereingaben.