Кодирование / декодирование HTML-сущностей

Кодируйте пять специальных символов HTML в сущности, при желании экранируйте все не-ASCII символы или декодируйте именованные, десятичные и шестнадцатеричные сущности обратно в текст.

Загрузка инструмента…

Кодирование / декодирование HTML-сущностейЭкранируйте пять зарезервированных символов HTML (&, <, >, ", ') в безопасные сущности или декодируйте именованные, десятичные и шестнадцатеричные сущности обратно в обычный текст. Включите «кодировать все не-ASCII», чтобы преобразовать каждый символ выше U+007F в числовую сущность. Декодирование использует собственный HTML-парсер браузера, поэтому любая распознаваемая им сущность разрешается правильно, а вся обработка остаётся в вашем браузере.

Что такое Кодирование / декодирование HTML-сущностей?

Кодирование / декодирование HTML-сущностей — это бесплатный онлайн-инструмент, который преобразует текст в HTML-сущности и обратно. Режим кодирования экранирует пять зарезервированных символов HTML — амперсанд (&amp;), знак «меньше» (&lt;), знак «больше» (&gt;), двойную кавычку (&quot;) и апостроф (&#39;) — чтобы текст можно было безопасно поместить в разметку или атрибут, не сломав страницу и не открыв уязвимость XSS. Режим декодирования разрешает сущности в любой форме: именованные ссылки вроде &copy; и &nbsp;, десятичные ссылки вроде &#169; и шестнадцатеричные ссылки вроде &#xA9;. Веб-разработчики, технические писатели и редакторы CMS используют его, чтобы вставлять примеры кода в HTML, очищать строки, присланные пользователями, или читать как обычный текст насыщенный сущностями фрагмент, скопированный из ленты или экспорта. Переключайтесь между кодированием и декодированием сегментированным переключателем и откройте Настройки, чтобы включить «кодировать все не-ASCII», когда вы также хотите превратить буквы с диакритикой, символы CJK и эмодзи в числовые сущности.

Как пользоваться Кодирование / декодирование HTML-сущностей

  1. Выберите кодирование или декодирование сегментированным переключателем вверху.
  2. Вставьте или введите текст в поле ввода; результат появляется в реальном времени в поле вывода только для чтения ниже.
  3. При кодировании откройте Настройки и отметьте «кодировать все не-ASCII», если вы также хотите превратить каждый символ выше U+007F в числовую сущность &#NNN;.
  4. Нажмите кнопку копирования у поля вывода, чтобы скопировать закодированный или раскодированный результат.
  5. Нажмите «Поменять местами», чтобы переместить вывод во ввод и сменить режим для проверки в обе стороны, или «Очистить», чтобы сбросить ввод.

Примеры

Кодирование пяти зарезервированных символов

Ввод

<a href="x">Tom & Jerry's</a>

Вывод

&lt;a href=&quot;x&quot;&gt;Tom &amp; Jerry&#39;s&lt;/a&gt;

Декодирование смешанных именованных, десятичных и шестнадцатеричных сущностей

Ввод

100&nbsp;&#37; &#x263A; &copy;

Вывод

100 % ☺ ©

Кодирование всех не-ASCII в числовые сущности

Ввод

Café & 日本

Вывод

Caf&#233; &amp; &#26085;&#26412;

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

Какие символы экранирует режим кодирования?
По умолчанию он экранирует только пять символов, имеющих особое значение в HTML: & становится &amp;, < становится &lt;, > становится &gt;, " становится &quot;, а ' становится &#39;. Амперсанд преобразуется первым, чтобы создаваемые им сущности не экранировались дважды. Включите «кодировать все не-ASCII» в Настройках, чтобы также превратить каждый символ выше U+007F в числовую сущность &#NNN;.
Какие виды сущностей может разрешить режим декодирования?
Все три формы: именованные ссылки вроде &amp;, &nbsp;, &copy; и &mdash;; десятичные числовые ссылки вроде &#169;; и шестнадцатеричные числовые ссылки вроде &#xA9;. Декодирование передаёт текст встроенному HTML-парсеру браузера, поэтому любая сущность, которую браузер распознаёт, разрешается так же, как на настоящей странице.
Защищает ли кодирование от XSS?
Экранирование &, <, >, " и ' — это основная защита при размещении недоверенного текста в содержимом тела HTML и в значениях атрибутов в двойных кавычках, а именно это и делает данный инструмент. Это не полноценный санитайзер для всех контекстов (например, атрибутов без кавычек, URL или встроенных скриптов), поэтому считайте его кодированием для стандартного вывода HTML, а не полной системой безопасности.
Обрабатывает ли он эмодзи и символы за пределами базовой плоскости?
Да. Кодирование проходит по тексту по кодовым точкам Unicode, поэтому суррогатные пары вроде эмодзи кодируются как одна правильная сущность &#NNN;, а не как две сломанные половины, а декодирование возвращает числовые сущности к исходным символам.
Загружается ли мой текст на сервер?
Нет. И кодирование, и декодирование выполняются целиком в вашем браузере — кодирование с помощью карты символов, а декодирование с помощью отдельной textarea, которая никогда не добавляется на страницу, поэтому никакие скрипты не выполняются. Ничего не загружается, не сохраняется и никуда не отправляется, что делает его безопасным для приватного кода, внутренних текстов и неопубликованного контента.

Похожие инструменты