Koder i dekoder HTML za darmo
Koduj znaki specjalne do encji HTML lub dekoduj encje z powrotem do zwykłego tekstu. Natychmiastowo, w Twojej przeglądarce.
Ściągawka typowych encji HTML
Typowe zastosowania
- Koduj Zawartość dla Kanału RSSKoduj zawartość HTML dla opisów elementów kanału RSS — wymagane przez standard RSS 2.0.
- Dezynfekuj Dane Wejściowe Użytkownika dla Danych Wyjściowych HTMLKoduj ciągi znaków dostarczone przez użytkownika przed wstawieniem ich do HTML — zapobiega atakom wstrzyknięcia XSS.
- Koduj Znaki Specjalne do Email HTMLKoduj znaki takie jak &, <, > i © jako jednostki HTML, aby wyświetlały się prawidłowo we wszystkich klientach poczty.
- Koduj Treść Użytkownika do Wyświetlania WebZapobiegaj atakom XSS poprzez kodowanie zawartości generowanej przez użytkownika przed renderowaniem na stronach HTML.
- Koduj Zawartość do XMLKoduj znaki specjalne dla plików XML, kanałów RSS, map witryn i ładunków SOAP.
Jak to działa
Kodowanie i dekodowanie HTML działa tu w całości w przeglądarce, z użyciem ręcznie napisanych zamian przez wyrażenia regularne i wpisanej na stałe tabeli nazwanych encji — bez zewnętrznej biblioteki kodującej i odwołań do serwera. Do dekodowania rzadszych nazwanych encji (jak á czy “) narzędzie korzysta z własnego parsera HTML przeglądarki jako bezkosztowego rozwiązania zapasowego.
- 1Wyrażenie regularne wyszukuje znaki do zamianyPrzy kodowaniu na danych uruchamiane jest jedno z dwóch wyrażeń regularnych obsługujących Unicode: ukierunkowany wzorzec obejmujący ~25 popularnych znaków istotnych dla HTML i specjalnych lub szerszy wzorzec wyłapujący każdy punkt kodowy powyżej U+007F. Każde dopasowanie jest przechwytywane znak po znaku.
- 2Tabela lub codePointAt() tworzy encjęPrzy wyniku w postaci nazwanych encji dopasowane znaki są wyszukiwane we wpisanej na stałe tabeli (np. & → &, © → ©). Przy wyniku dziesiętnym lub szesnastkowym String.codePointAt() pobiera punkt kodowy Unicode i formatuje go jako &#NNN; lub &#xNNN; — pary zastępcze są obsługiwane poprawnie, bo wyrażenie regularne używa flagi Unicode 'u'.
- 3Jeden przebieg wyrażenia regularnego dekoduje encje na znakiPrzy dekodowaniu jeden przebieg wyrażenia regularnego rozpoznaje wszystkie tokeny encji (&, A, A itd.) i kieruje każdy do właściwej obsługi: parseInt przy podstawie 16 dla hex, Number() dla dziesiętnych, odwrotne wyszukiwanie dla nazwanych lub — dla encji spoza wpisanej tabeli — element textarea, którego innerHTML przeglądarka parsuje natywnie, zwracając właściwy znak z wbudowanej tabeli encji przeglądarki.
- 4Wynik pojawia się natychmiast; kopiowanie przez Clipboard APIWynik jest przeliczany synchronicznie przy każdym naciśnięciu klawisza przez useMemo Reacta. Kopiowanie używa navigator.clipboard.writeText() — nowoczesnego asynchronicznego Clipboard API — z cichą obsługą błędów w ograniczonych kontekstach.
Powiązane narzędzia
Koder i dekoder URL
Koduj i dekoduj adresy URL oraz ciągi zapytań. Obsługa encodeURIComponent, decodeURIComponent i analizy ciągów zapytań.
Koder i dekoder Base64
Koduj tekst lub pliki do Base64 lub dekoduj ciągi Base64 z powrotem do zwykłego tekstu. Natychmiastowe, prywatne i bezpłatne.
Szyfr Cezara i szyfrowanie tekstu
Szyfruj i deszyfruj tekst szyfrem Cezara, ROT13, Atbash i szyfrem Vigenère'a. Klasyczne szyfry podstawieniowe, wszystkie w Twojej przeglądarce.