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.
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.
| Karakter | Névvel | Decimális | Hexadecimális |
|---|---|---|---|
& | & | & | & |
< | < | < | < |
> | > | > | > |
" | " | " | " |
' | ' | ' | ' |
(nem törhető szóköz) | |   |   |
© | © | © | © |
® | ® | ® | ® |
™ | ™ | ™ | ™ |
€ | € | € | € |
£ | £ | £ | £ |
¥ | ¥ | ¥ | ¥ |
— | — | — | — |
– | – | – | – |
… | … | … | … |
« | « | « | « |
» | » | » | » |
° | ° | ° | ° |
× | × | × | × |
÷ | ÷ | ÷ | ÷ |
é | é | é | é |
π | π | π | π |
→ | → | → | → |
😀 | — | 😀 | 😀 |
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 (é) vagy hexadecimálisan (é). 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 é), görög betűket, matematikai jeleket és tipográfiai jeleket (például — és …) fedik le. Furcsa módon az ' 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 ✓, a ★ és a ≂̸, 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 & és a © 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 ' 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 & 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 és a normál szóköz között?
- Az
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 & 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
&,<,>,"és'előre definiált.