Кодирование и декодирование HTML-сущностей
Кодирование и декодирование HTML-сущностей: структурные символы и не-ASCII — в числовые ссылки, обратный разбор имён и чисел с позицией ошибки.
Результат можно передать дальше:Посмотреть как markdown
Результат
Пустой ввод: введите текст для кодирования или сущности для разбора.
-
Что кодируется и чем разбирается
«Кодировать» превращает в числовые ссылки пять структурных символов (& < > кавычки) и всё, что вне ASCII, — печатный ASCII остаётся собой. «Декодировать» и «Превью» разбирают именованные (&, — базовые ~250 из HTML 4.01) и числовые (&, &) ссылки; битая сущность подсвечивается с позицией. Превью показывает результат текстом, а не исполняет разметку.
Последние разборы
В истории — только режим и длины: введённый текст не сохраняется.
Готовые примеры
Найдено: 4 из 4
- Кодировать текст с кириллицей в HTML-сущностиРусская строка с разметкой подставлена в поле ввода: на выходе — числовые ссылки для «<», «>», «&», кавычек и каждого символа кириллицы.
- Раскодировать HTML-сущности в текстСтрока с сущностями (<, >, &) подставлена в режиме «Декодировать»: разборщик собирает исходный текст и не трогает знак «&» без сущности.
- Превью: сущности показываются текстом, а не исполняютсяЗакодированный тег <script> подставлен в режим «Превью»: результат рисуется через textContent, поэтому на странице видна строка, а не исполнение.
- Битая сущность: пропущена точка с запятойДемонстрация ошибки: знакомое имя «&» без «;» не разбирается, а подсвечивается с позицией — вместо тихой подстановки чужого символа.
Что это и как пользоваться
Инструмент кодирует и декодирует HTML-сущности в трёх режимах: encode, decode и предпросмотр. Структурные символы (<, >, &, ") и не-ASCII-символы превращаются в числовые ссылки вида А или именованные вроде &.
Кодирование выбирает форму записи само: структурные символы получают короткие имена (&, <, >), остальные — числовые ссылки. Это компромисс между читаемостью и универсальностью: имя короче, но не всякий парсер его знает.
Предпросмотр показывает, во что раскроется строка после декодирования, поэтому числовую ссылку не нужно проверять вставкой в страницу — сразу видно, какой это символ.
Раскрытие идёт за один проход: &#38; превращается в текст &, а не в амперсанд, поэтому двойное экранирование видно, а не схлопывается незаметно.
Именованные сущности короче и читаемее, числовые универсальнее: их понимает любой парсер, даже если таблицу имён он не знает.
Числовая запись работает независимо от кодировки страницы: А покажет «А» и в UTF-8, и в однобайтовой кодировке, где такого символа нет вовсе.
Когда пригодится
- Экранировать пользовательский текст перед вставкой в разметку, чтобы тег отобразился, а не сработал.
- Прочитать чужой HTML: раскодировать сущности обратно в буквы и символы.
- Проверить числовую ссылку в предпросмотре, прежде чем вставлять её в шаблон.
- Проверить, не двойное ли экранирование в шаблоне: увидеть &amp; вместо & и исправить источник.
- Разобрать текст письма, где кириллица пришла числовыми ссылками, и вернуть его в читаемый вид.
- Сравнить именованную и числовую запись одного символа и убедиться, что это один и тот же знак.
Чего инструмент не делает
- Работа идёт с сущностями, а не с документом: дерево не строится, разметка не исполняется и не валидируется.
- Декодирование не делает текст безопасным: проверка на вредоносный ввод остаётся задачей приложения.
- Теги не удаляются и HTML не очищается от скриптов — для этого нужен отдельный санитайзер.
- Ссылки за пределами Unicode остаются текстом: страница не подставляет вместо них символ-заглушку.
- Очень большие документы обрабатываются целиком в памяти вкладки, поэтому файлы лучше прогонять частями.
Примеры
- Вход
<div>привет</div>- Выход
<div>привет</div>- Вход
&А- Выход
&А