Do czego służy
Encje HTML to kody oznaczające znaki, na przykład < dla < i é dla é. To narzędzie zamienia tekst na encje, aby można go było bezpiecznie wyświetlić na stronie internetowej, oraz dekoduje encje z powrotem na zwykły tekst, na przykład gdy kopiujesz kod z CMS-a lub szablonu e-maila.
Kodowanie korzysta z pełnej listy HTML5 obejmującej ponad 2000 nazwanych odwołań, a dekodowanie rozumie odwołania nazwane, dziesiętne (©) i szesnastkowe (©) dokładnie tak jak przeglądarka.
Jak używać
- Wklej tekst lub HTML w polu Wejście, wczytaj plik lub kliknij Przykład.
- Wybierz Koduj lub Dekoduj.
- Przy kodowaniu wybierz, ile zakodować:
- Tylko & < > ” ’: minimum potrzebne, aby umieścić tekst w HTML lub atrybucie.
- Plus spoza ASCII, nazwane: zamienia też znaki takie jak é, © i — na encje nazwane, a wszystko, co nie ma nazwy, na odwołanie liczbowe.
- Plus spoza ASCII, liczbowe: to samo, ale zawsze liczbowo (
é), co jest też poprawnym XML. - Wszystko, co ma nazwę: koduje nawet interpunkcję, taką jak
.i/, co przydaje się, gdy system usuwa te znaki.
- Skopiuj lub pobierz wynik. Użyj jako wejścia pozwala zdekodować go ponownie, aby sprawdzić pełny cykl.
Przykład
<p>Café & "crème brûlée"</p>
zakodowane tylko w zakresie znaków specjalnych daje
<p>Café & "crème brûlée"</p>
a z nazwanymi encjami dla znaków spoza ASCII daje
<p>Café & "crème brûlée"</p>
Typowe zastosowania
Pokaż fragment kodu na blogu tak, aby przeglądarka go nie renderowała, wstaw tekst użytkownika do e-maila w HTML, napraw podwójnie escapowany tekst, taki jak &amp; (zdekoduj raz), albo przygotuj plik dla systemu, który przyjmuje tylko ASCII.
FAQ
› Które znaki trzeba escapować w HTML?
W tekście escapuj & i <. Wewnątrz wartości atrybutów escapuj też znak cudzysłowu, w który ujęta jest wartość. Escapowanie & < > " i ' wszędzie, co jest tu ustawieniem domyślnym, jest zawsze bezpieczne.
› Używać encji nazwanych czy liczbowych?
Oba rodzaje działają w każdej nowoczesnej przeglądarce. Encje nazwane, takie jak é, są czytelniejsze; odwołania liczbowe, takie jak é, działają też w XML i w starszych parserach, które znają tylko kilka nazw. Na stronie w UTF-8 zwykle w ogóle nie musisz kodować znaków spoza ASCII.
› Czy dekodowanie obsługuje encje bez średnika?
Tak. Dekoder działa zgodnie ze specyfikacją HTML, więc starsze formy, takie jak © bez średnika, są dekodowane tak, jak zrobiłaby to przeglądarka. Nieznane nazwy, takie jak &foo;, pozostają bez zmian.
› Czy escapowanie wystarczy, aby zapobiec XSS?
Escapowanie to właściwa obrona dla tekstu umieszczanego wewnątrz elementów HTML i atrybutów w cudzysłowach. Nie czyni jednak niezaufanych danych bezpiecznymi wewnątrz bloków script, bloków style, atrybutów obsługi zdarzeń ani adresów URL — tam potrzebne jest kodowanie zależne od kontekstu.