PK Systems PK Systems
Text-Tools

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.

String-Escape & -Unescape

Escape-Ausgabe

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
JavaScriptIt's "fine"It\'s \"fine\"
JSONline1\nline2line1\\nline2
SQLO'BrienO''Brien
HTML<b> & "x"&lt;b&gt; &amp; &quot;x&quot;
URLa b/c?d=1a%20b%2Fc%3Fd%3D1
Regex3.14 (pi)3\.14 \(pi\)

Häufig gestellte Fragen

Warum gibt es JavaScript- und JSON-Modi getrennt?
JSON ist eine strenge Teilmenge der JavaScript-String-Syntax – es erlaubt kein \', \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?
Nein – für echte Produktionsabfragen nimm parametrisierte Queries (Prepared Statements) im Datenbanktreiber. SQL-Escaping hier dient der menschenlesbaren Konvertierung (Einmal-Abfrage bauen, Daten-Dump transformieren). Doppelte einfache Anführungszeichen sind SQL-Standard, doch moderne Apps sollten Werte als Parameter übergeben, nicht konkatenieren.
Was ist der Unterschied zwischen encodeURIComponent und encodeURI?
Der URL-Modus nutzt Komponenten-Kodierung, die ?, &, =, / 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?
Beides. Der Encoder escapet <, >, &, " 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?
Jedes Zeichen mit Sonderbedeutung in einem JavaScript-RegExp: \, ^, $, ., *, +, ?, (, ), [, ], {, }, |, /, -. Das Ergebnis kannst du in einem Regex zum wortwörtlichen Matching des Originalstrings verwenden – praktisch bei Nutzereingaben.
Verlässt etwas meinen Browser?
Nein. Escape und Unescape laufen als reines JavaScript im Browser. Sicher für Anmeldedaten, interne Queries, geheime Strings – nichts wird hochgeladen, geloggt oder gespeichert.