Utilia

Kódovanie a dekódovanie HTML entít

Zakóduj špeciálne znaky ako entity HTML (pomenované, desiatkové alebo hex) alebo dekóduj ľubovoľnú entitu s plným zoznamom 2 231 pomenovaných odkazov HTML5.

Možnosti kódovania

Ako kódovať alebo dekódovať entity HTML

  1. Vlož text alebo HTML do vstupného poľa.
  2. Ak ho chceš zakódovať, vyber znaky na kódovanie: Iba & < > " ' alebo Aj každý znak mimo ASCII a zvoľ Formát entít: Pomenované (&eacute;), Desiatkové (&#233;) alebo Hexadecimálne (&#xE9;).
  3. Klikni na Zakódovať, alebo na Dekódovať, ak chceš entity zmeniť späť na znaky.
  4. Prečítaj si počet v stavovom riadku a klikni na Kopírovať. Použiť výstup ako vstup presunie výsledok do vstupného poľa, napríklad na kontrolu spiatočnej cesty.

Kódovanie: kedy a čo ošetriť

V HTML sa dá päť znakov pomýliť so značkovaním. Iba & < > " ' nahradí presne tieto: & za &amp;, < za &lt;, > za &gt;, " za &quot; a ' za &#39;. Presne to potrebuješ, keď chceš na webovej stránke zobraziť kód, vložiť text používateľa do atribútu alebo vložiť úryvok do blogového príspevku či poľa CMS, ktoré očakáva HTML. Apostrof používa číselný tvar, pretože &apos; v HTML 4 neexistovalo a niektoré staršie parsery ho nepoznajú.

Aj každý znak mimo ASCII navyše nahradí všetko mimo tlačiteľného ASCII: písmená s diakritikou, typografické úvodzovky, znak eura, pevné medzery, emoji a podobne. Výsledok je čisté ASCII, čo sa hodí pre systémy, ktoré kazia UTF-8, pre šablóny e‑mailov alebo na zviditeľnenie neviditeľných znakov, ako je &nbsp;, v zdrojovom kóde.

Formát entít určuje, ako sa znaky zapíšu:

  • Pomenované (&eacute;) použije čitateľný názov, ak ho HTML definuje (&eacute;, &euro;, &hellip;), pričom uprednostní klasický názov z HTML 4, ak má znak viac názvov. Znaky bez názvu, napríklad emoji, sa zapíšu desiatkovo.
  • Desiatkové (&#233;) zapíše kódový bod Unicode v desiatkovej sústave.
  • Hexadecimálne (&#xE9;) ho zapíše v šestnástkovej sústave, čo zodpovedá zápisu U+00E9 v tabuľkách Unicode.

Všetky tri formáty rozumie každý prehliadač. Znaky mimo základnej viacjazyčnej roviny, napríklad 😀, sa kódujú ako jeden odkaz na celý kódový bod (&#128512;), nie ako dve náhradné polovice.

Dekódovanie: pravidlá HTML5

Dekódovať dodržiava pravidlá, ktoré prehliadače používajú pri čítaní textového obsahu, s úplným zoznamom 2 231 pomenovaných odkazov na znaky z HTML Living Standard:

  • pomenované odkazy ako &eacute;, &rarr; alebo &NotEqualTilde; (niektoré dávajú dva kódové body);
  • desiatkové (&#233;) a hexadecimálne (&#xE9; alebo &#XE9;) odkazy, s koncovou bodkočiarkou alebo bez nej;
  • historické názvy, ktoré prehliadače prijímajú bez bodkočiarky, ako &copy 2026 alebo &amp, a rovnako ako v prehliadačoch sa &notit; zmení na ¬it;, pretože &not je takýto historický názov;
  • číselné odkazy v rozsahu 128–159 sa mapujú na znaky Windows-1252, ktoré prehliadače zobrazujú (&#150; dá pomlčku), a &#0;, náhradné páry a hodnoty nad U+10FFFF sa zmenia na náhradný znak �.

Neznáme názvy, napríklad &foo;, ostanú nezmenené a započítajú sa v stavovom riadku. Dekódovanie robí vlastný parser nástroja, nie vkladanie tvojho textu do stránky, takže sa žiadne značkovanie ani skript zo vstupu nikdy nevykoná.

Často kladené otázky

Musím kódovať písmená s diakritikou?

Zvyčajne nie. Stránka servírovaná v UTF-8 môže obsahovať é alebo € priamo. Kódovanie znakov mimo ASCII je potrebné iba vtedy, keď súbor alebo systém medzi tým nezvláda UTF-8.

Prečo sa &amp;amp; dekóduje na &amp; a nie na &?

Dekódovanie sa robí raz, ako v prehliadači. &amp;amp; je zakódované &amp;. Ak bol text zakódovaný dvakrát, klikni na Použiť výstup ako vstup a znova na Dekódovať.

Aký je rozdiel oproti kódovaniu URL?

Entity HTML ošetrujú text pre dokumenty HTML. Kódovanie URL (%20, %C3%A9) ošetruje text pre webové adresy. Pre odkazy a reťazce dopytu použi kodér URL.

Odosiela sa môj text na server?

Nie. Kódovanie aj dekódovanie bežia v tvojom prehliadači. Pri prvom dekódovaní sa z tohto webu načíta iba zoznam názvov entít.

Dekódujú sa entity v atribútoch inak?

Prehliadače zaobchádzajú s niekoľkými historickými názvami bez bodkočiarky v hodnotách atribútov inak. Tento nástroj používa pravidlá pre textový obsah, ktoré zodpovedajú tomu, čo vidíš na stránke.