Kodowanie

XML Entities Encode/Decode

Kodowanie i dekodowanie encji XML — 5 standardowych (ampersand, nawiasy ostrokątne, apostrof, cudzysłów) oraz numeryczne odwołania do znaków.

Unlike HTML, XML strictly requires escaping five special characters (&, <, >, ', "), or the document is considered invalid. This tool encodes and decodes those entities, as well as numeric character references.

How to use it

Common uses

Things to keep in mind

XML parsers are much stricter than HTML: a single unescaped entity invalidates the entire document, not just one element.

CDATA sections (<![CDATA[...]]>) are an alternative to escaping for large blocks of text, letting you insert arbitrary content without replacing every special character individually.

Artykuł o tym narzędziu: XML Entities: escapowanie znaków w dokumentach XML

Najczęstsze pytania

Czym encje XML różnią się od encji HTML?

Specyfikacja XML definiuje tylko 5 wbudowanych encji: lt, gt, amp, apos i quot, podczas gdy HTML ma dużo szerszy zestaw nazwanych encji (np. &nbsp; czy &copy;). W dokumentach XML znaki spoza tej piątki trzeba zapisywać jako encje liczbowe.

Po co kodować te 5 znaków w dokumencie XML?

Znaki <, >, &, ' i " mają w XML znaczenie strukturalne — otwierają znaczniki, atrybuty czy referencje encji. Niezakodowane w treści tekstowej lub wartości atrybutu mogą złamać parsowanie dokumentu lub zmienić jego strukturę.

Czym różnią się tryby Podstawowe i Wszystkie znaki?

Tryb Podstawowe koduje tylko pięć predefiniowanych znaków XML, natomiast tryb Wszystkie znaki zamienia na numeryczne odwołania również znaki spoza ASCII, co bywa przydatne przy ograniczonym kodowaniu dokumentu.

Czym jest CDATA i kiedy używać go zamiast encji?

Sekcja &lt;![CDATA[...]]&gt; pozwala wstawić blok tekstu bez escapowania < i & — przydatne dla dużych fragmentów kodu czy HTML wewnątrz XML. Wyjątkiem jest sekwencja ]]>, która zamyka CDATA i nie może wystąpić w samej treści.

Czy parsery XML jednakowo obsługują niepoprawne encje?

Nie, i w przeciwieństwie do przeglądarek, które „wybaczają" błędy w HTML, parsery XML są surowe: jeden nieescapowany ampersand czy nawias kątowy sprawia, że cały dokument jest nieprawidłowy, a przetwarzanie kończy się błędem.

Artykuły: Kodowanie

Base64: po co jest kodowanie i jak działa

Jak Base64 zamienia dane binarne na tekst ASCII i kiedy naprawdę jest to potrzebne.

Base32: czym różni się od Base64 i kiedy jest wygodniejszy

Alfabet Base32 niewrażliwy na wielkość liter i sytuacje, w których jest wygodniejszy od Base64.

URL Encode/Decode: percent-encoding w linkach

Jak znaki specjalne w adresach i parametrach zamieniają się w sekwencje %XX.

HTML Entities: jak bezpiecznie wyświetlać znaki specjalne

Dlaczego znaki &lt; &gt; &amp; trzeba escapować i jak to zapobiega uszkodzeniu znaczników.

JWT: budowa tokenu i co znaczy „dekodowanie" JWT

Header, payload i signature tokenu JWT oraz dlaczego dekodowanie to nie to samo co weryfikacja podpisu.

Unicode Escape: co oznaczają sekwencje \uXXXX

Skąd biorą się sekwencje takie jak \u0041 w JSON i ciągach JS oraz co oznaczają.

ROT13 i szyfr Cezara: proste podstawianie znaków

Dlaczego przesunięcie o 13 liter sprawia, że ROT13 jest samoodwrotny, i po co się go dziś używa.

Punycode: jak umiędzynarodowione domeny działają w DNS

Jak domena z niełacińskimi znakami zamienia się w formę ASCII z prefiksem xn--.

Alfabet Morse'a: jak tekst zamienia się w kropki i kreski

Zasada kodowania liter jako kropek i kresek oraz gdzie alfabet Morse'a jest dziś stosowany.

Data URI: kiedy osadzać obrazy bezpośrednio w kodzie

Jak Data URI osadza zawartość pliku bezpośrednio w HTML lub CSS i kiedy się to opłaca.

Gzip + Base64: kompresja danych do przesyłania jako tekst

Dlaczego skompresowane dane binarne dodatkowo koduje się w Base64, zanim trafią do pola tekstowego.