100 % lokal — Ihre Daten verlassen nie Ihren Browser

XML-Unescape — ein escaptes Snippet lesen

Die fünf XML-Entitäten und numerische Zeichenreferenzen in einem Durchgang zurück in Text dekodieren — Sie lesen, was das Dokument wirklich trug.

Sofort Privat Null Cookies

XML Escaped-Eingabe

Text-Ausgabe

Was dieses Tool macht

Es dekodiert die fünf von XML vordefinierten Entities — &, <, >, " und ' — sowie numerische Zeichenreferenzen in beiden Formen: dezimal A und hexadezimal A, auch oberhalb von U+FFFF, sodass 😀 wieder sein Emoji ergibt.

Entity-Namen sind wie in XML gefordert case-sensitiv: & wird dekodiert, & nicht. Eine Referenz braucht außerdem ihr Semikolon — &amp ohne eines ist gewöhnlicher Text und bleibt es.

Ein Durchgang, mit Absicht

Dekodiert wird genau einmal. &amp;lt; ergibt &lt; und nicht <, denn &amp;lt; ist die maskierte Form des wörtlichen Textes &lt;, und dieser Text ist die richtige Antwort.

Ein zweiter Durchgang macht aus maskiertem Markup wieder aktives Markup — der Schritt hinter einer ganzen Klasse von Injection-Fehlern. Ist Ihr Wert tatsächlich doppelt kodiert, fügen Sie das Ergebnis erneut ein und dekodieren noch einmal: als Entscheidung, die Sie treffen, nicht das Tool.

Was es nicht macht

Benannte HTML-Entities liegen außerhalb. &nbsp;, &copy; und die paar tausend anderen gehören zu HTML, nicht zu XML, und kommen unverändert zurück.

Ungültige numerische Referenzen bleiben wörtlich erhalten statt ersetzt zu werden. Ein Surrogat-Codepoint (&#xD800;) oder ein Wert jenseits von U+10FFFF (&#99999999;) lässt sich keinem Zeichen zuordnen, und die Referenz unverändert zurückzugeben hält die Eingabe wiederherstellbar, statt sie stillschweigend zu verlieren. Dasselbe gilt für jedes Zeichen, das XML 1.0 überhaupt nicht darstellen kann — NUL, die meisten Steuerzeichen, die Nichtzeichen U+FFFE und U+FFFF: &#0; und &#xFFFF; kommen so zurück, wie sie geschrieben wurden. Sie zu dekodieren ergäbe ein Dokument, das kein XML-Parser annimmt.

Datenschutz ab Werk

Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.

Häufige Fragen

Warum bleibt `&nbsp;` unverändert?
Weil es keine XML-Entity ist. XML definiert genau fünf vor — `&amp;`, `&lt;`, `&gt;`, `&quot;` und `&apos;` — alles andere gehört zu HTML. Nutzen Sie dafür das Tool für HTML-Entities.
Warum ergibt `&amp;lt;` ein `&lt;` und kein `<`?
Weil bewusst nur einmal dekodiert wird. `&amp;lt;` ist die maskierte Form des Textes `&lt;`, ein Durchgang ist also die richtige Antwort. Zweimal zu dekodieren macht aus maskiertem Markup wieder aktives Markup.
Was passiert mit einer ungültigen numerischen Referenz?
Sie kommt genau so zurück, wie sie geschrieben wurde. Ein Surrogat-Codepoint wie `&#xD800;` oder ein Wert außerhalb des Bereichs wie `&#99999999;` hat kein Zeichen, in das er dekodiert werden könnte — die Referenz bleibt erhalten statt durch ein Platzhalterzeichen ersetzt zu werden.

Ähnliche Konverter