TanodTools
PL

Koduj i dekoduj encje HTML

Zamień tekst na encje HTML albo zamień encje, takie jak & i €, z powrotem na znaki, które oznaczają.

Działa w przeglądarce; nic, co zostanie wpisane, nie opuszcza urządzenia

Co chcesz zrobić?

Wklej tekst, aby zacząć.

Tekst do kilku milionów znaków. Dekodowanie rozumie wszystkie nazwane encje znane Twojej przeglądarce (pełna lista HTML5) oraz liczby dziesiętne i szesnastkowe; odwołanie wymaga końcowego średnika. Dekodowanie obejmuje tylko jeden poziom: &amp;lt; zmienia się w &lt;, a nie w <.

Jak kodować i dekodować encje HTML

  1. Wybierz Koduj lub Dekoduj i wklej tekst.
  2. Przy kodowaniu wybierz, czy kodować tylko niebezpieczne znaki, używać nazw takich jak &eacute;, jeśli istnieją, czy zapisywać liczbami wszystko spoza ASCII.
  3. Skopiuj wynik.

Czym są encje HTML

HTML nadaje kilku znakom specjalną rolę: znak mniejszości rozpoczyna znacznik, ampersand rozpoczyna encję, a cudzysłów kończy wartość atrybutu. Aby pokazać jeden z tych znaków jako tekst, zapisujesz zamiast niego encję: &lt; dla <, &amp; dla &. Encje pozwalają też zapisać znaki trudne do wpisania lub takie, których nie zmieści stare kodowanie strony, np. &eacute; dla é, &euro; dla € lub &#128512; dla emoji.

Encja zaczyna się od ampersandu, a kończy średnikiem. Pomiędzy nimi jest nazwa (copy), liczba dziesiętna po # (#169) albo liczba szesnastkowa po #x (#xA9). Wszystkie trzy zapisują znak praw autorskich. Kodowanie przechodzi przez tekst znak po znaku: pięć niebezpiecznych znaków zawsze staje się encjami, a reszta zależy od wybranej opcji, od niczego aż po liczbę dla każdego znaku.

Dekodowanie czyta każde odwołanie i zastępuje je odpowiednim znakiem. Liczby są konwertowane bezpośrednio według reguł HTML: liczba równa zero, spoza zakresu lub będąca zastępnikiem (surrogate) zamienia się w znak zastępczy, a liczby od 128 do 159 są odczytywane jako znaki Windows-1252, tak jak robią to przeglądarki. Nazwy rozwiązuje przeglądarka, która zna całą listę HTML5. Dekodowanie odbywa się w jednym przebiegu, więc &amp;lt; zmienia się w &lt;, a nie w sam znak mniejszości.

Wskazówki

Najczęstsze pytania

Które znaki trzeba escapować w HTML?

Pięć: znak mniejszości < (&lt;), znak większości > (&gt;), ampersand & (&amp;), cudzysłów " (&quot;) i apostrof ' (&#39;). Dzięki temu możesz wyświetlić kod lub dane wpisane przez użytkownika jako tekst, bez traktowania ich jak znaczników. Pierwsza opcja, Tylko niebezpieczne znaki, robi właśnie to.

Czym różnią się encje nazwane od liczbowych?

Encja nazwana używa krótkiego słowa, np. &eacute; dla é lub &euro; dla €. Liczbowa używa punktu kodowego Unicode, dziesiętnie (&#233;) lub szesnastkowo (&#xE9;). Obie dają ten sam znak. Nazwy ma tylko część znaków; pozostałe wymagają liczb.

Po co w ogóle kodować znaki spoza ASCII?

Jeśli strona lub e-mail nie jest serwowana w UTF-8, litery z akcentami i symbole mogą zamienić się w krzaki. Encje to czyste ASCII, więc przetrwają każde kodowanie.

Czy dekodowanie obejmuje każdą encję?

Tak. Odwołania dziesiętne i szesnastkowe są konwertowane bezpośrednio, a nazwy sprawdza wbudowany w przeglądarkę parser HTML, który zna pełną listę HTML5 z ponad dwoma tysiącami nazw. Odwołanie bez średnika zostaje bez zmian, podobnie jak nieznana nazwa, którą wypisujemy, żebyś ją zobaczył.

Czy samo kodowanie wystarczy, by zatrzymać XSS?

Zakodowanie pięciu niebezpiecznych znaków to właściwe rozwiązanie, gdy wstawiasz tekst do treści elementu HTML lub do wartości atrybutu w cudzysłowie. Nie wystarczy wewnątrz skryptu, stylu, atrybutu bez cudzysłowu ani adresu URL, które wymagają własnego escapowania. To narzędzie służy do tekstu, który wklejasz, i nie zastępuje escapowania w Twoim frameworku.

Czy mój tekst jest przesyłany?

Nie. Wszystko dzieje się w przeglądarce i nic nie opuszcza urządzenia.