UltKit

HTML entitás kódoló és dekódoló

Kódolja azokat a karaktereket, amelyeket a HTML jelölésként értelmez, igény szerint az összes nem ASCII karaktert is, vagy alakítsa vissza egyszerű szöveggé az olyan entitásokat, mint a é és a —. Mindkét irány a böngészőjében fut, és a dekódolt bemenet soha nem jelenik meg élő HTML-ként.

Mód
Entitás stílusa
Kódolandó

0 karakter · 0 szó · 0 sor

0 karakter · 0 szó · 0 sor

Teljes egészében ebben a böngészőlapon fut. A szöveget soha nem töltjük fel és nem tároljuk.

Gyakori karakterek és entitásaik

A névvel, decimálisan és hexadecimálisan írt alakok ugyanarra a karakterre dekódolódnak. A kódoló 216 gyakori névvel ellátott entitást ismer; a dekódoló a HTML-szabvány minden névvel ellátott hivatkozását érti.

KarakterNévvelDecimálisHexadecimális
&&&&
<&lt;&#60;&#x3C;
>&gt;&#62;&#x3E;
"&quot;&#34;&#x22;
'&apos;&#39;&#x27;
(nem törhető szóköz)&nbsp;&#160;&#xA0;
©&copy;&#169;&#xA9;
®&reg;&#174;&#xAE;
™&trade;&#8482;&#x2122;
€&euro;&#8364;&#x20AC;
£&pound;&#163;&#xA3;
¥&yen;&#165;&#xA5;
—&mdash;&#8212;&#x2014;
–&ndash;&#8211;&#x2013;
…&hellip;&#8230;&#x2026;
«&laquo;&#171;&#xAB;
»&raquo;&#187;&#xBB;
°&deg;&#176;&#xB0;
×&times;&#215;&#xD7;
÷&divide;&#247;&#xF7;
é&eacute;&#233;&#xE9;
π&pi;&#960;&#x3C0;
→&rarr;&#8594;&#x2192;
😀—&#128512;&#x1F600;

A HTML 4 252 entitásától a HTML5 2231 entitásáig

A karakterhivatkozás egy karaktert ír le kizárólag ASCII-jelekkel. A numerikus hivatkozások bármely Unicode-kódponthoz használhatók, tízes számrendszerben (&#233;) vagy hexadecimálisan (&#xE9;). A névvel megadott hivatkozásokat könnyebb megjegyezni: a HTML 4 közülük 252-t definiált, ezek a Latin-1 betűket (például &eacute;), görög betűket, matematikai jeleket és tipográfiai jeleket (például &mdash; és &hellip;) fedik le. Furcsa módon az &apos; nem tartozott közéjük: az XML-ből származik, és csak a HTML5-tel vált érvényes HTML-lé.

A HTML5 2231-re bővítette a névvel megadott karakterhivatkozások listáját, és beolvasztotta a MathML entitáskészletét, így az olyan nevek, mint az &check;, a &bigstar; és a &NotEqualTilde;, ma már minden aktuális böngészőben működnek. A szám tartalmazza a záró pontosvessző nélküli régi írásmódokat is, például az &amp és a &copy alakot, amelyeket az értelmezők kompatibilitási okból még elfogadnak, de nem érdemes leírni. Az itteni kódoló a széles körben támogatott HTML 4 neveket és az &apos; hivatkozást állítja elő, minden mást numerikus hivatkozásra cserél; a dekódoló a szöveget a böngésző saját értelmezőjének adja át, ezért mind a 2231 nevet érti.

Mit kell kódolni, és mikor nem elég a kódolás

A Csak & < > " ' beállítás a mindennapi munkához való: az öt olyan karaktert kódolja, amely lezárhat egy szövegcsomópontot vagy egy idézőjeles attribútumot. Ez elég ahhoz, hogy kódrészletet jelenítsen meg egy oldalon, vagy a felhasználói szöveget biztonságosan HTML-be helyezze. A Minden nem ASCII karakter is az é, € és az emoji karaktereket is hivatkozássá alakítja, azokhoz a ritka csatornákhoz, amelyek nem tudnak UTF-8-at szállítani, például egyes régi e-mail-sablonokhoz vagy a kódolást elrontó rendszerekhez. A Névvel, a Decimális és a Hexa csak a hivatkozás írásmódját változtatja meg; mindhárom ugyanarra a karakterre dekódolódik. Az UTF-8-ban mentett oldalaknak nincs szükségük entitásokra az ékezetes betűkhöz.

A kódolás csak a HTML-környezetet védi, mást nem. A script blokkba, egy beágyazott eseménykezelőbe (például onclick), a style attribútumba vagy egy javascript: kezdetű href-be kerülő szöveget másképp kell kezelni, és az entitáskódolás önmagában nem előzi meg ott a cross-site scripting támadást. Az olyan keretrendszerek, mint a React, alapértelmezetten kódolják a szöveget, ezért a modern alkalmazásokban gyakoribb hiba a dupla kódolás: a felhasználók &amp; jelet látnak ott, ahol & kellene. A címkék teljes eltávolításához alakítsa át a jelölést az HTML TXT-be eszközzel; az URL-ekben végzett kódoláshoz használja az URL kódolás és dekódolás eszközt.

Gyakori kérdések

Mely karaktereket kell kötelezően kódolni HTML-ben?
Szövegben az & és a < a legfontosabb, a > kódolása megszokásból történik. Attribútumérték belsejében a határoló idézőjelet is kódolni kell. Mind az öt karakter kódolása mindkét esetet lefedi.
Mi a különbség a &nbsp; és a normál szóköz között?
Az &nbsp; a nem törhető szóköz, U+00A0. Szóköznek látszik, de azon a ponton megakadályozza a sortörést, és a HTML-ben megszokott szóközökkel ellentétben nem vonódik össze, ha több áll egymás mellett.
Miért &amp; jelenik meg az oldalamon az és-jel helyett?
A szöveg kétszer lett kódolva: egyszer az adataiban, másodszor a sablon vagy a keretrendszer által. Tárolja a nyers szöveget, és csak egy réteg, általában a sablon végezze a kódolást a kimenet előállításakor.
Biztonságos itt nem megbízható forrásból származó HTML-t dekódolni?
Igen. A dekódoló a bemenetet egyszerű szövegtartalomként értelmezi, így nem jönnek létre címkék, a szkriptek nem futnak le, a képek nem töltődnek be. Csak az entitáshivatkozásokat alakítja karakterekké.
A nevesített vagy a numerikus entitások a jobbak?
A névvel megadottak olvashatóbbak, a numerikusak minden karakterhez és minden XML-értelmezőben működnek. DTD nélküli XML-ben csak az &amp;, &lt;, &gt;, &quot; és &apos; előre definiált.