Kodierte HTML-Zeichen lesen
Nutzen Sie diese Richtung, wenn eine kopierte Zeichenfolge Referenzen wie &, < oder numerische Referenzen enthält und Sie die lesbaren Zeichen benötigen. Eine Folge für das Und-Zeichen wird zum Und-Zeichen; eine Folge für das Kleiner-als-Zeichen ergibt dieses Zeichen in der Ausgabe. Der Konverter zeigt das dekodierte Ergebnis als reinen Text. Das ist hilfreich beim Prüfen von Logs, Exporten oder für die Anzeige maskierten Nachrichten, deren Referenzen die beabsichtigte Zeichensetzung verschleiern.
Die Ausgabe garantiert nicht, dass der Text als Auszeichnung sicher ist. Die Dekodierung einer Referenz für eine öffnende Klammer kann etwa eine tagähnliche Folge sichtbar machen. Wird das Ergebnis später mit innerHTML eingefügt, kann diese Folge HTML-Bedeutung bekommen; textContent behält sie als Text. Referenzen können benannt oder numerisch sein, und Browserregeln haben Feinheiten. Wenn eine exakte Rückwandlung nötig ist, vergleichen Sie die Originalbytes und den Zielparser, statt anzunehmen, dass eine doppelt maskierte Zeichenfolge nur einen Dekodierschritt braucht.
HTML-Zeichenreferenzen und ihr Kontext
HTML reserviert Zeichen wie das kaufmännische Und und spitze Klammern für Auszeichnung. Zeichenreferenzen stellen solche Zeichen als Daten dar: & steht beispielsweise für ein Und-Zeichen, < für ein Kleiner-als-Zeichen. Browser interpretieren Referenzen beim Parsen von HTML. Es gibt benannte und numerische Referenzen, doch ihre Bedeutung hängt davon ab, in welchem Kontext ein HTML-Parser sie liest. Eine ähnlich aussehende Zeichenfolge in einer gewöhnlichen Textdatei bedeutet noch nicht, dass diese Datei als HTML gerendert wurde.
Textinhalt ist von ausführbarer Auszeichnung zu unterscheiden. Von Nutzern gelieferter Text in einer Webseite ist etwas anderes als ein vertrauenswürdiges HTML-Fragment. Auch Textknoten, Attribute, URL-Attribute, CSS-Regeln und JavaScript-Zeichenfolgen benötigen unterschiedliche Behandlung. Die Umwandlung von Zeichenreferenzen ist ein Darstellungsschritt, keine vollständige Sicherheitsrichtlinie und kein HTML-Sanitizer. Verwenden Sie geeignete Vorlagen oder DOM-APIs für genau die Stelle, an der ein Wert eingefügt wird.
Die kodierte Quelle vor dem Dekodieren prüfen
Beginnen Sie mit einem Wert, der tatsächlich in der erwarteten Darstellung vorliegt. Fügen Sie eine kodierte Komponente oder Bytefolge ein und vergleichen Sie die lesbare Ausgabe mit dem ursprünglichen Datensatz. Der Dekoder läuft in diesem Browser und lädt die Folge nicht zu einem Konvertierungsdienst hoch. Beschädigte Eingaben oder ein anderes Format können je nach Operation scheitern oder teilweise unverändert bleiben. Bewahren Sie den kodierten Ursprungswert auf, um überraschende Zeichen der Quelle oder Ihrer Auslegung zuordnen zu können.
Behandeln Sie dekodierten Text als neue, möglicherweise nicht vertrauenswürdige Eingabe. Ein lesbarer Satz kann Auszeichnung, eine URL, befehlsähnlichen Text oder private Angaben enthalten, die gesondert behandelt werden müssen. Fügen Sie ihn nicht nur wegen erfolgreicher Dekodierung in einen ausführbaren Kontext ein. Wirkt die Ausgabe falsch, prüfen Sie die angegebene Zeichenkodierung und ob ein früheres System den Wert mehrfach kodiert hat. Wiederholtes Dekodieren ohne Kenntnis der Ebenen kann wörtliche Trennzeichen zu aktiver Struktur machen.