Dekoder encji HTML
Zamień é i é z powrotem w czytelny tekst: odwołania nazwane i numeryczne, dziesiętne lub szesnastkowe, w swojej przeglądarce.
Działa w całości w twojej przeglądarce. Nic nie jest wysyłane, logowane ani przechowywane.
Tekst, który o jeden raz za dużo przeszedł przez kodowanie, przychodzi pełen é, é i &. To narzędzie odczytuje go z powrotem: każda encja staje się znakiem, który reprezentuje, a wszystko inne pozostaje bez zmian.
Jak to działa
Odwołania nazwane są wyszukiwane w tabeli HTML 4.01: 252 nazwy, od & do €. Odwołania numeryczne są odczytywane jako punkt kodowy, dziesiętnie (é) lub szesnastkowo (é), w obu przypadkach.
Wszystko, co nie jest odwołaniem, jest kopiowane bez zmian, łącznie z samotnym ampersandem. Tekst wyciągnięty ze strony bardzo często jest zakodowany tylko częściowo, a odrzucenie całego wejścia z powodu jednego zabłąkanego „&” nikomu by nie pomogło.
Przykłady
| Przypadek | Dane wejściowe | Wynik |
|---|---|---|
| Encja nazwana | café | café |
| Ten sam znak zapisany punktem kodowym | café and café | café and café |
| Tekst zakodowany dwukrotnie, zdekodowany raz | Tom & Jerry | Tom & Jerry |
Najczęściej zadawane pytania
Po dekodowaniu mój tekst wciąż zawiera &. Dlaczego?
Bo był zakodowany dwukrotnie. & dekoduje się do &, i to jest poprawne: jedno dekodowanie cofa jedno kodowanie. Przepuść go ponownie, żeby cofnąć drugie. To, że wynik wciąż jest zakodowany, jest zwykle ciekawym odkryciem: coś w łańcuchu przetwarzania koduje wyjście, które już było zakodowane.
Czy dekodowanie niezaufanego tekstu jest bezpieczne?
Dekodowanie tutaj jest bezpieczne: nic nie jest renderowane jako znaczniki, a wynik jest wyświetlany w zwykłym polu tekstowym. Niebezpieczne jest wstawienie zdekodowanego wyniku z powrotem na stronę: <script> dekoduje się do prawdziwego znacznika, i właśnie dlatego go zakodowano.
Dlaczego nie jest w wyniku zwykłą spacją?
Bo nią nie jest. Dekoduje się do U+00A0, twardej spacji, która wygląda tak samo, a zachowuje się inaczej: nie pozwala na złamanie wiersza, a niemal cały kod wyszukujący i porównujący traktuje ją jako inny znak. Ta różnica jest często właśnie tropionym błędem.
Czy nazwy encji z HTML5 są obsługiwane?
Tylko 252 nazwy z HTML 4.01. HTML5 dodaje około dwóch tysięcy kolejnych, głównie matematycznych; te są pozostawiane bez zmian zamiast zgadywane. Odwołania numeryczne działają mimo to z każdym znakiem.
Warto wiedzieć
- Wszystko dzieje się w przeglądarce. To, co wklejasz, nie jest wysyłane, rejestrowane ani przechowywane.
Źródła
Wszystkie narzędzia z kategorii Kod