Кодирование

XML Entities Encode/Decode

Кодирование и декодирование XML-сущностей — 5 стандартных (амперсанд, угловые скобки, апостроф, кавычки) и числовые ссылки на символы.

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.

Статья об этом инструменте: XML Entities: экранирование символов в XML-документах

Часто задаваемые вопросы

Чем XML-сущности отличаются от HTML-сущностей?

Стандарт XML предопределяет всего 5 именованных сущностей: &lt;, &gt;, &amp;, &apos; и &quot;, тогда как в HTML их значительно больше (например, &nbsp; или &copy;). Для любых других символов в XML нужно использовать числовые ссылки вида &#38; или &#x26;.

Зачем вообще экранировать текст в XML?

Символы <, > и & имеют особое значение в разметке и без экранирования могут сломать структуру документа или сделать его невалидным. Кодирование в сущности гарантирует, что текст останется корректным содержимым, а не будет воспринят как теги или атрибуты.

Что означает режим «Все символы»?

Режим «Основные» кодирует только пять предопределённых XML-сущностей, а «Все символы» дополнительно переводит в числовые ссылки не-ASCII символы — это полезно, если документ должен оставаться строго ASCII-совместимым.

Что такое CDATA и когда использовать её вместо сущностей?

Секция &lt;![CDATA[...]]&gt; позволяет вставить блок текста без экранирования < и & — удобно для больших фрагментов кода или HTML внутри XML. Исключение — последовательность ]]>, которая закрывает CDATA и не может встречаться в самом содержимом.

Одинаково ли XML-парсеры обрабатывают невалидные сущности?

Нет, и в отличие от браузеров, которые «прощают» ошибки в HTML, XML-парсеры строгие: один неэкранированный амперсанд или угловая скобка делает весь документ невалидным, и обработка прекращается с ошибкой.

Статьи: Кодирование

Base64: зачем нужно кодирование и как оно работает

Как Base64 превращает бинарные данные в текст ASCII и где это реально нужно.

Base32: чем отличается от Base64 и когда удобнее

Регистронезависимый алфавит Base32 и сценарии, где он удобнее Base64.

URL Encode/Decode: percent-encoding в ссылках

Как спецсимволы в адресной строке и query-параметрах превращаются в %XX-последовательности.

HTML Entities: как безопасно выводить спецсимволы на странице

Почему символы &lt; &gt; &amp; нужно экранировать и как это предотвращает поломку разметки.

JWT: структура токена и что значит «декодировать» JWT

Header, payload и signature JWT-токена и почему декодирование — не то же самое, что проверка подписи.

Unicode Escape: что означают последовательности \uXXXX

Откуда в JSON и JS-строках берутся последовательности вида \u0041 и что они означают.

ROT13 и шифр Цезаря: простая замена символов

Почему сдвиг на 13 букв делает ROT13 симметричным и зачем его вообще используют сегодня.

Punycode: как домены с кириллицей работают в DNS

Как домен вроде «пример.рф» превращается в ASCII-запись с префиксом xn--.

Азбука Морзе: как текст превращается в точки и тире

Принцип кодирования букв точками и тире и где азбука Морзе применяется сейчас.

Data URI: когда встраивать изображения прямо в код

Как data:-URI встраивает содержимое файла прямо в HTML или CSS и когда это оправдано.

Gzip + Base64: сжатие данных для передачи текстом

Зачем сжатые бинарные данные ещё и кодируют в Base64 перед тем, как поместить в текстовое поле.