Utilia

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

Alakítsd a különleges karaktereket HTML entitásokká (elnevezett, decimális, hex), vagy dekódolj entitásokat a 2231 HTML5 névvel ellátott hivatkozás listájával.

Kódolási beállítások

Hogyan kódolj vagy dekódolj HTML entitásokat

  1. Illeszd be a szöveget vagy a HTML-t a bemeneti mezőbe.
  2. Az escape-eléshez válaszd ki a kódolandó karaktereket: Csak & < > " ' vagy Minden nem ASCII karakter is, és válassz Entitás formátuma értéket: Elnevezett (&eacute;), Decimális (&#233;) vagy Hexadecimális (&#xE9;).
  3. Kattints a Kódolás gombra, vagy a Dekódolás gombra, hogy az entitások visszaalakuljanak karakterekké.
  4. Olvasd le a számot az állapotsorban, majd kattints a Másolás gombra. A Kimenet használata bemenetként áthelyezi az eredményt a bemeneti mezőbe, például oda-vissza átalakítás ellenőrzéséhez.

Kódolás: mikor és mit érdemes escape-elni

A HTML-ben öt karakter téveszthető össze a jelöléssel. A Csak & < > " ' pontosan ezeket cseréli: az & karaktert &amp;-re, a < karaktert &lt;-re, a > karaktert &gt;-re, a " karaktert &quot;-ra és a ' karaktert &#39;-re. Erre van szükséged, ha kódot akarsz megjeleníteni egy weboldalon, felhasználói szöveget teszel egy attribútumba, vagy olyan kódrészletet illesztesz be egy blogbejegyzésbe vagy CMS-mezőbe, amely HTML-t vár. Az aposztróf numerikus alakot használ, mert az &apos; nem létezett a HTML 4-ben, és egyes régebbi elemzők nem ismerik.

A Minden nem ASCII karakter is ezen felül kicseréli a nyomtatható ASCII-n kívüli mindent: az ékezetes betűket, a tipográfiai idézőjeleket, az euró jelét, a nem törhető szóközöket, az emojikat és így tovább. Az eredmény tiszta ASCII, ami hasznos azoknál a rendszereknél, amelyek elrontják az UTF-8-at, e-mail-sablonokhoz, vagy az olyan láthatatlan karakterek láthatóvá tételéhez a forrásban, mint az &nbsp;.

Az Entitás formátuma dönti el, hogyan íródnak a karakterek:

  • Az Elnevezett (&eacute;) olvasható nevet használ, ha a HTML definiál ilyet (&eacute;, &euro;, &hellip;), és ha egy karakternek több neve is van, a klasszikus HTML 4 nevet részesíti előnyben. A név nélküli karakterek, például az emojik, decimális alakra esnek vissza.
  • A Decimális (&#233;) a Unicode kódpontot tízes számrendszerben írja.
  • A Hexadecimális (&#xE9;) tizenhatos számrendszerben írja, ami megfelel a Unicode-táblázatok U+00E9 jelölésének.

Mindhármat minden böngésző érti. Az alapvető többnyelvű síkon (BMP) kívüli karakterek, például a 😀, a teljes kódpontra mutató egyetlen hivatkozásként kódolódnak (&#128512;), nem két helyettesítő (surrogate) félként.

Dekódolás: a HTML5 szabályai

A Dekódolás azokat a szabályokat követi, amelyeket a böngészők a szövegtartalom olvasásakor használnak, a HTML Living Standard 2231 névvel ellátott karakterhivatkozásának teljes listájával:

  • az olyan névvel ellátott hivatkozások, mint az &eacute;, az &rarr; vagy az &NotEqualTilde; (néhány két kódpontot ad);
  • a decimális (&#233;) és a hexadecimális (&#xE9; vagy &#XE9;) hivatkozások, záró pontosvesszővel vagy anélkül;
  • azok a régi nevek, amelyeket a böngészők pontosvessző nélkül is elfogadnak, mint az &copy 2026 vagy az &amp – és a böngészőkhöz hasonlóan az &notit; ¬it; lesz, mert az &not ilyen régi név;
  • a 128–159 tartományba eső numerikus hivatkozások a böngészők által megjelenített Windows-1252 karakterekre képződnek le (az &#150; gondolatjelet ad), a &#0;, a helyettesítő kódpontok és az U+10FFFF feletti értékek pedig a � helyettesítő karakterré válnak.

Az ismeretlen nevek, például az &foo;, változatlanul maradnak, és az állapotsorban megszámolásra kerülnek. A dekódolást az eszköz saját elemzője végzi, nem a szöveged oldalba illesztésével, ezért a bemenetben lévő jelölést vagy szkriptet soha nem értelmezi.

Gyakori kérdések

Kell kódolnom az ékezetes karaktereket?

Általában nem. Az UTF-8-ként kiszolgált oldal közvetlenül tartalmazhat é vagy € karaktert. A nem ASCII karakterek kódolására csak akkor van szükség, ha a fájl vagy a közbeeső rendszer nem kezeli az UTF-8-at.

Miért dekódolódik az &amp;amp; &amp;-ra, és nem &-ra?

A dekódolás egyszer történik, ahogy a böngészők is teszik. Az &amp;amp; egy escape-elt &amp;. Kattints a Kimenet használata bemenetként, majd újra a Dekódolás gombra, ha a szöveget kétszer kódolták.

Mi a különbség ez és az URL-kódolás között?

A HTML entitások HTML-dokumentumokhoz escape-elik a szöveget. Az URL-kódolás (%20, %C3%A9) webcímekhez escape-eli. Hivatkozásokhoz és lekérdezési karakterláncokhoz az URL-kódolót használd.

Elküldésre kerül a szövegem egy szerverre?

Nem. A kódolás és a dekódolás a böngésződben fut. Az első dekódoláskor csak az entitásnevek listája töltődik be erről az oldalról.

Másképp dekódolja az attribútumokon belüli entitásokat?

A böngészők néhány régi, pontosvessző nélküli nevet másképp kezelnek az attribútumértékeken belül. Ez az eszköz a szövegtartalom szabályait használja, amelyek megegyeznek azzal, amit az oldalon látsz.