Zum Hauptinhalt springen

String Escape/Unescape

Ein Tool zum Escapen und Unescapen von Sonderzeichen in Strings für verschiedene Formate. Unverzichtbar für Datenverarbeitung, API-Entwicklung und Frontend-Arbeit!

Examples:

Unterstützte Formate

📝 JSON

Escaped Sonderzeichen für JSON-Format.

Escape:

  • Zeilenumbruch → \n
  • Tabulator → \t
  • Anführungszeichen → \"
  • Backslash → \\

Anwendungsfälle:

  • API-Anfrage/-Antwort
  • Konfigurationsdateien
  • Datenspeicherung

🌐 HTML

Escaped HTML-Sonderzeichen zur Verhinderung von XSS-Angriffen.

Escape:

  • <&lt;
  • >&gt;
  • &&amp;
  • "&quot;
  • '&#39;

Anwendungsfälle:

  • Anzeige von Benutzereingaben
  • XSS-Prävention
  • HTML-Generierung

🔗 URL

Kodiert Sonderzeichen für sichere URL-Übertragung.

Escape:

  • Leerzeichen → %20
  • Sonderzeichen → Prozent-Kodierung
  • Reservierte Zeichen → Kodiert

Anwendungsfälle:

  • Query-Parameter
  • URL-Generierung
  • API-Endpoint-Aufrufe

💻 JavaScript

Escaped Sonderzeichen für JavaScript-Strings.

Escape:

  • Zeilenumbruch → \n
  • Anführungszeichen → \' oder \"
  • Backslash → \\
  • Unicode → \uXXXX

Anwendungsfälle:

  • Dynamische Skript-Generierung
  • Template-Literal-Verarbeitung
  • Code-Generierung

📄 XML

Escaped Sonderzeichen für XML/HTML-Format.

Escape:

  • <&lt;
  • >&gt;
  • &&amp;
  • "&quot;
  • '&apos;

Anwendungsfälle:

  • XML-Dokument-Generierung
  • SOAP API
  • RSS/Atom Feeds

Praktische Beispiele

Anzeige von Benutzereingaben

// XSS verhindern
const userInput = '<script>alert("XSS")</script>';
const escaped = escapeHTML(userInput);
// Ergebnis: &lt;script&gt;alert(&quot;XSS&quot;)&lt;/script&gt;
document.getElementById('output').textContent = escaped;

API-Anfrage

// JSON Escape
const data = {
message: 'Hallo\nWelt\t!'
};
const jsonString = JSON.stringify(data);
// Ergebnis: {"message":"Hallo\\nWelt\\t!"}

URL Query-Parameter

// URL-Kodierung
const searchQuery = 'Suche Test';
const encodedQuery = encodeURIComponent(searchQuery);
// Ergebnis: Suche%20Test
const url = `https://api.example.com/search?q=${encodedQuery}`;

Dynamische Code-Generierung

// JavaScript Escape
const userMessage = "Es ist ein \"großartiger\" Tag!";
const code = `console.log('${userMessage.replace(/'/g, "\\'")}');`;
// Ergebnis: console.log('Es ist ein \"großartiger\" Tag!');

Verwendungstipps

1. Formatauswahl

  • JSON: Für API-Kommunikation oder Datenspeicherung
  • HTML: Für Anzeige von Inhalten auf Webseiten
  • URL: Für Query-Parameter oder Pfadsegmente
  • JavaScript: Für dynamische Code-Generierung
  • XML: Für XML-Dokumente oder RSS-Feeds

2. Wann Escaping Notwendig Ist

  • ✅ Anzeige von Benutzereingaben
  • ✅ API-Datenübertragung
  • ✅ Datenbank-Query-Generierung
  • ✅ URL-Parameter-Übergabe
  • ✅ Dynamische Code-Generierung

3. Wann Unescaping Notwendig Ist

  • ✅ Verarbeitung empfangener API-Daten
  • ✅ Parsing von Query-Parametern
  • ✅ Wiederherstellung gespeicherter Daten
  • ✅ Verarbeitung URL-kodierter Daten

Sicherheitsüberlegungen

XSS-Prävention

Immer escapen beim Anzeigen von Benutzereingaben:

// ❌ Gefährlich
element.innerHTML = userInput;

// ✅ Sicher
element.textContent = userInput;
// oder
element.innerHTML = escapeHTML(userInput);

SQL-Injection-Prävention

Parametrisierte Abfragen statt Escaping verwenden:

// ❌ Gefährlich
const query = `SELECT * FROM users WHERE name = '${userInput}'`;

// ✅ Sicher
const query = 'SELECT * FROM users WHERE name = ?';
db.execute(query, [userInput]);

Hinweise

  • Verschiedene Formate erfordern unterschiedliche Escape-Methoden
  • Escaping ≠ Encoding (verschiedene Konzepte)
  • Serverseitige Validierung ist ebenfalls notwendig
  • Vorsicht bei doppeltem Escaping/Unescaping
  • Eingebaute Funktionen für jede Sprache verwenden

Verwandte Tools