Koder i dekoder encji HTML
Prywatne z założenia — działa w całości w Państwa przeglądarce
Koduj znaki specjalne jako encje HTML lub dekoduj encje z powrotem do zwykłego tekstu. Toova pokrywa pełny zestaw encji nazwanych, wspiera referencje liczbowe i szesnastkowe i działa całkowicie w przeglądarce — przydatne do sanityzacji tekstu, debugowania szablonów i bezpiecznego eksportu treści.
Encje nazwane, liczbowe i szesnastkowe
HTML ma trzy sposoby wyrażenia tego samego znaku: nazwany (&), dziesiętny liczbowy (&) i szesnastkowy (&). Toova domyślnie koduje do encji nazwanych, ponieważ są czytelniejsze, ale można przełączyć się na tryb liczbowy lub szesnastkowy, jeśli system docelowy tego wymaga. Dekodowanie obsługuje wszystkie trzy formy transparentnie — wklej cokolwiek i odzyskaj zwykły tekst.
Selektywne kodowanie
Kodowanie każdego znaku rozdyma HTML i szkodzi czytelności. Domyślnie Toova koduje tylko znaki mające specjalne znaczenie w HTML — nawiasy kątowe, ampersand i cudzysłowy. Można przełączyć się na tryb agresywny, aby zakodować każdy znak spoza ASCII, co przydaje się przy emitowaniu treści do ścisłego środowiska ASCII lub przy budowaniu statycznego e-maila HTML.
Tylko lokalnie
Wszystko odbywa się w przeglądarce. Wklejony tekst nigdy nie jest wysyłany na żaden serwer i nie ma logowania treści. To właściwy model, gdy tekst zawiera kopię wprowadzaną przez użytkownika, opinie klientów lub cokolwiek co powinno pozostać prywatne. Zakładka Network w DevTools pokaże zero żądań wychodzących podczas kodowania.
Najczęściej zadawane pytania
- Jaka jest różnica między encjami nazwanymi a liczbowymi?
- Encje nazwane (&) są łatwiejsze do odczytu, ale działają tylko gdy parser rozpoznaje nazwę. Encje liczbowe (&) i szesnastkowe (&) działają w każdym parserze HTML lub XML, co czyni je bezpieczniejszymi w kontekstach poza przeglądarką jak RSS czy e-mail.
- Czy powinienem kodować każdy znak?
- Nie. Kodowanie tylko tego co konieczne (nawiasy kątowe, ampersand, cudzysłowy) utrzymuje wynik czytelnym i małym. Agresywne kodowanie każdego bajtu spoza ASCII przydaje się tylko gdy celem jest ścisłe ASCII.
- Czy obsłuży emoji i alfabety inne niż łacińskie?
- Tak. Emoji, litery z akcentami i znaki CJK wszystkie kodują się prawidłowo na formę liczbową lub szesnastkową. Dekodowanie przywraca je dokładnie, włącznie z sekwencjami wielopunktowymi jak emoji flag.
- Czy kodowanie chroni przed XSS?
- Kodowanie wejścia użytkownika przed wstrzyknięciem do HTML to właściwy punkt wyjścia, ale nie cała historia. Zawsze łącz to z porządnym silnikiem szablonów escapującym domyślnie i polityką Content Security Policy na stronie.
- Czy wklejony tekst jest wysyłany gdziekolwiek?
- Nie. Kodowanie i dekodowanie działa całkowicie w przeglądarce. Nic nie jest przesyłane ani logowane.