HTML-Entitäten kodieren und dekodieren
Wandeln Sie Text in HTML-Entitäten um, oder wandeln Sie Entitäten wie & und € zurück in die Zeichen, für die sie stehen.
Läuft in Ihrem Browser; nichts, was Sie eingeben, verlässt Ihr Gerät
Fügen Sie Text ein, um zu beginnen.
Text bis zu einigen Millionen Zeichen. Beim Dekodieren werden alle benannten Entitäten verstanden, die Ihr Browser kennt (die vollständige HTML5-Liste), sowie dezimale und hexadezimale Zahlen; eine Referenz braucht ihr abschließendes Semikolon. Das Dekodieren geht nur eine Ebene tief: &lt; wird zu <, nicht zu <.
So kodieren und dekodieren Sie HTML-Entitäten
- Wählen Sie Kodieren oder Dekodieren und fügen Sie Ihren Text ein.
- Wählen Sie beim Kodieren, ob nur die unsicheren Zeichen kodiert werden, ob Namen wie é verwendet werden, wo es sie gibt, oder ob alles außerhalb von ASCII als Zahl geschrieben wird.
- Kopieren Sie das Ergebnis.
Was HTML-Entitäten sind
HTML gibt einigen Zeichen eine besondere Aufgabe: Das Kleiner-als-Zeichen beginnt ein Tag, das Und-Zeichen beginnt eine Entität, und Anführungszeichen beenden einen Attributwert. Um eines dieser Zeichen als Text anzuzeigen, schreiben Sie stattdessen eine Entität: < für <, & für &. Mit Entitäten lassen sich auch Zeichen schreiben, die schwer zu tippen sind oder die eine alte Seitenkodierung nicht darstellen kann, etwa é für é, € für € oder 😀 für ein Emoji.
Eine Entität beginnt mit einem Und-Zeichen und endet mit einem Semikolon. Dazwischen steht entweder ein Name (copy), eine Dezimalzahl nach # (#169) oder eine Hexadezimalzahl nach #x (#xA9). Alle drei schreiben das Copyright-Zeichen. Das Kodieren geht Ihren Text Zeichen für Zeichen durch: Die fünf unsicheren Zeichen werden immer zu Entitäten, alles Weitere hängt von der gewählten Option ab, von gar nichts bis zu einer Zahl für jedes Zeichen.
Das Dekodieren liest jede Referenz und ersetzt sie durch ihr Zeichen. Zahlen werden direkt umgewandelt, nach den HTML-Regeln: Eine Zahl, die null ist, außerhalb des Bereichs liegt oder ein Surrogat ist, wird zum Ersatzzeichen, und die Zahlen 128 bis 159 werden wie in Browsern als Windows-1252-Zeichen gelesen. Namen löst Ihr Browser auf, der die ganze HTML5-Liste kennt. Das Dekodieren läuft in einem einzigen Durchgang, daher wird &lt; zu < und nicht zu einem bloßen Kleiner-als-Zeichen.
Tipps
- Möchten Sie stattdessen einen Wert für eine Webadresse maskieren? Verwenden Sie URL kodieren und dekodieren.
- Bringen Sie Markup mit dem HTML-Formatierer in Form, bevor Sie es maskieren.
- Sie wissen nicht, warum ein Text seltsam aussieht? Es können sich unsichtbare Zeichen darin verbergen: Prüfen Sie ihn mit dem Detektor für unsichtbare Zeichen.
Häufige Fragen
Welche Zeichen müssen in HTML maskiert werden?
Fünf: das Kleiner-als-Zeichen < (<), das Größer-als-Zeichen > (>), das Und-Zeichen & (&), das doppelte Anführungszeichen " (") und das einfache Anführungszeichen ' ('). Durch das Maskieren können Sie Code oder Benutzereingaben als Text anzeigen, ohne dass sie als Markup gelesen werden. Die erste Option, Nur die unsicheren Zeichen, tut genau das.
Was ist der Unterschied zwischen benannten und numerischen Entitäten?
Eine benannte Entität verwendet ein kurzes Wort, etwa é für é oder € für €. Eine numerische verwendet den Unicode-Codepoint, dezimal (é) oder hexadezimal (é). Beide ergeben dasselbe Zeichen. Nur manche Zeichen haben einen Namen; die übrigen brauchen Zahlen.
Warum überhaupt Nicht-ASCII-Zeichen kodieren?
Wird eine Seite oder E-Mail nicht als UTF-8 ausgeliefert, können Umlaute und Sonderzeichen zu Zeichensalat werden. Entitäten sind reines ASCII und überstehen daher jede Kodierung.
Deckt das Dekodieren jede Entität ab?
Ja. Dezimale und hexadezimale Referenzen werden direkt umgewandelt, und Namen schlägt der HTML-Parser Ihres Browsers nach, der die vollständige HTML5-Liste mit mehr als zweitausend Namen kennt. Eine Referenz ohne Semikolon bleibt unverändert, ebenso ein unbekannter Name, der aufgelistet wird, damit Sie ihn sehen.
Reicht Kodieren, um XSS zu verhindern?
Die fünf unsicheren Zeichen zu kodieren ist die richtige Lösung, wenn Sie Text in den Inhalt eines HTML-Elements oder in einen Attributwert in Anführungszeichen setzen. In einem Script, einem Style, einem Attribut ohne Anführungszeichen oder einer URL reicht es nicht, denn dort ist ein eigenes Maskieren nötig. Dieses Tool ist für Text gedacht, den Sie einfügen, und ersetzt nicht das Maskieren Ihres Frameworks.
Wird mein Text hochgeladen?
Nein. Alles geschieht in Ihrem Browser, und nichts verlässt Ihr Gerät.