HTML-Encoder/-Decoder
Kodieren oder dekodieren Sie HTML-Entitäten. Schnell, privat und einfach zu bedienen.
Kodieren oder dekodieren Sie HTML-Entitäten. Schnell, privat und einfach zu bedienen.
HTML-Kodierung verwandelt Zeichen, die ein Browser als Markup behandeln würde, in Entitätsreferenzen, die der Browser wörtlich anzeigt. Wenn Sie <strong>hello</strong> als reinen Text in eine Seite einfügen, sieht der Browser ein echtes Fett-Tag; kodieren Sie es vorher, zeigt der Browser das Tag selbst. Dieses Tool kodiert und dekodiert in beide Richtungen, mit einem sicheren Modus für alltägliches Escaping und einem vollen Modus, der jedes Nicht-ASCII-Zeichen in eine numerische Referenz umwandelt. Es ist für Entwickler, technische Redakteure und alle gedacht, die Code als Text anzeigen oder Text aufräumen müssen, der einmal zu oft escaped wurde.
| Eingabe | Sicherer Modus | Voller Modus |
|---|---|---|
<p>café</p> | <p>café</p> | <p>café</p> |
He said "hi" | He said "hi" | He said "hi" |
€100 | €100 | €100 |
A & B | A & B | A & B |
Der sichere Modus ersetzt genau &, <, >, " und ' (der Apostroph wird zu '). Der volle Modus tut dasselbe und ersetzt dann jedes verbleibende Zeichen, dessen Codepunkt unter U+0020 oder über U+007E liegt, durch eine dezimale numerische Referenz. Druckbares ASCII von Leerzeichen bis ~ bleibt unangetastet. Der volle Modus ist die richtige Wahl, wenn die Ausgabe eine Seite oder ein System überstehen muss, das kein UTF-8 deklariert, wenn Sie eine Datei erzeugen, die reines ASCII sein muss, oder wenn unsichtbare Steuerzeichen sichtbar gemacht werden sollen. Der sichere Modus hält den Text für Menschen lesbar, was meist gewünscht ist, wenn das Ziel bereits UTF-8 ist.
HTML bietet zwei Wege, ein Zeichen zu schreiben, das Sie nicht direkt tippen können oder wollen. Eine benannte Entität wie & oder < hat einen menschenlesbaren Namen und ist leicht zu erkennen. Eine numerische Zeichenreferenz schreibt den Unicode-Codepunkt des Zeichens, entweder dezimal (é) oder hexadezimal (é). Beide Formen bedeuten für einen Browser dasselbe Zeichen. Der volle Modus gibt stets dezimale Referenzen aus, weil sie kompakt und eindeutig sind und weil dezimale Ziffern lesbares ASCII sind. Den Codepunkt zu kennen ist oft der schnellste Weg, eine fremde Referenz von Hand zu entschlüsseln: € ist dezimal 8364, also U+20AC, das Euro-Zeichen.
<div class="box">Hi</div> ergibt in beiden Modi <div class="box">Hi</div>. Jedes Zeichen ist druckbares ASCII außer den fünf, die escaped werden, deshalb stimmen sicherer und voller Modus überein.Résumé & Co. ergibt im sicheren Modus Résumé & Co. und im vollen Modus Résumé & Co., weil é U+00E9 ist, dezimal 233.	 und das Copyright-Zeichen (U+00A9) zu ©, sodass beide in der Ausgabe sichtbar werden.Hello ergibt Hello, und das Dekodieren von <b>bold</b> ergibt <b>bold</b>.Der Decoder erkennt sechs benannte Entitäten: &, <, >, ", ' und . Außerdem verarbeitet er dezimale Referenzen wie é und hexadezimale Referenzen wie é oder é. Alles andere wird unverändert durchgereicht, deshalb bleiben ©, € und fehlerhafte Fragmente genau so stehen, wie sie geschrieben wurden. Eine Feinheit, die man sich merken sollte: dekodiert zu einem gewöhnlichen Leerzeichen, nicht zu einem geschützten Leerzeichen, weshalb ein dekodierter Absatz anders umbrechen kann als die Originalseite. Ein Round-Trip ist daher nicht immer verlustfrei.
< ergibt &lt;, was der Browser als wörtlichen Text < anzeigt. Dekodieren Sie zuerst, wenn Sie unsicher sind, ob eine Zeichenkette bereits escaped ist.© und € werden Sie also überraschen.Das Escapen der fünf Zeichen verhindert, dass Text als Markup gelesen wird, aber es ist kein Sanitizer. Es validiert keine Eingaben, entfernt keine unerwünschten Tags und entschärft keine gefährlichen URLs wie javascript:. Wenn Sie nicht vertrauenswürdiges HTML rendern müssen, statt es als Text anzuzeigen, kombinieren Sie Escaping mit einem speziellen Sanitizer. Als Faustregel gilt: Escapen, wenn Sie Code oder Nutzertext zeigen; bereinigen, wenn Sie tatsächlich Markup einfügen müssen.
Technische Redakteure nutzen es, um HTML-, XML- und SVG-Beispiele in Blogposts und Dokumentation zu zeigen. Entwickler escapen damit von Nutzern eingereichten Text vor dem Rendern. Vorlagenautoren schützen dynamische Werte, die in HTML-E-Mails eingefügt werden. Und alle, die verstümmelten, mit Entities gefüllten Text aus einem Altbestandssystem oder einem übereifrigen CMS dekodieren möchten.
Der sichere Modus ersetzt nur fünf Zeichen: Ampersand, Kleiner-als, Größer-als, doppeltes Anführungszeichen und Apostroph. Der volle Modus escaped dieselben fünf und wandelt anschließend jedes verbleibende Zeichen unterhalb U+0020 oder oberhalb U+007E in eine dezimale numerische Referenz um, sodass das Ergebnis reines ASCII ist.
Das ist zu erwarten. Der volle Modus stellt jedes Nicht-ASCII-Zeichen als seinen dezimalen Unicode-Codepunkt dar, ein akzentuierter Buchstabe oder ein Währungszeichen wird also zu etwas wie é. So bleibt der Text auf Seiten oder Systemen lesbar, die keinen UTF-8-Zeichensatz deklarieren.
Nein. Dieser Decoder bildet auf ein gewöhnliches Leerzeichen (U+0020) ab, nicht auf ein geschütztes Leerzeichen (U+00A0). Dekodieren und anschließendes Neukodieren stellt die ursprüngliche Entität daher nicht wieder her.
Das Ampersand in < ist selbst ein Zeichen, das der sichere Modus escaped, aus der Eingabe < wird deshalb &lt;. Das ist Doppelkodierung: Der Browser zeigt den wörtlichen Text < statt des Zeichens <.
Ja. Der volle Modus läuft die Zeichenkette nach Unicode-Codepunkten ab, ein Emoji wird also als einzelne numerische Referenz wie 😀 ausgegeben, statt in Surrogat-Hälften zerlegt zu werden.
Nein. Das Kodieren der fünf gefährlichen Zeichen verhindert, dass Text als Markup interpretiert wird, aber es validiert keine Eingaben, entfernt keine Tags und entschärft keine gefährlichen URLs wie javascript:. Um nicht vertrauenswürdiges Markup darzustellen, verwenden Sie einen speziell dafür gebauten Sanitizer.
Geprüft vom HandyTools-Hub-Team · Zuletzt aktualisiert