HTML-сущности онлайн — кодирование и декодирование
Кодирование и декодирование HTML-сущностей для спецсимволов и не-ASCII
Работает в браузере · файлы никуда не загружаются
Что это
В HTML символы вроде < и & имеют особое значение, поэтому, чтобы показать их буквально, пишут сущности — < и &. Инструмент превращает текст в сущности и сущности обратно в символы.
Как пользоваться
- Выберите «Кодировать» или «Декодировать».
- При кодировании выберите, что кодировать: только пять обязательных символов или все не-ASCII символы числовыми ссылками.
- Вставьте текст — результат появится сразу.
- Скопируйте результат или нажмите «Перенести результат во ввод», чтобы проверить обратное преобразование.
Как это работает
- Режим пяти обязательных символов:
&→&,<→<,>→>,"→",'→'. - Режим «Все не-ASCII»: те же пять плюс каждый символ с кодом 128 и выше в виде десятичной ссылки (
éдля é,ядля я). Эмодзи считается одним кодом, а не двумя половинами UTF-16. - Декодирование: именованные, десятичные (
A) и шестнадцатеричные (A) ссылки раскрываются за один проход, поэтому&lt;становится<и дальше не раскрывается. - Именованные ссылки берутся из встроенной таблицы примерно на пятьдесят имён (amp, lt, gt, quot, apos, nbsp, copy, euro, hellip и другие). Имена вне таблицы остаются как есть.
- Числовые ссылки на 0, на диапазон суррогатов или за пределом Unicode превращаются в символ замены U+FFFD, как требует стандарт HTML.
Примеры
| Ввод | Режим | Результат |
|---|---|---|
<a href="x"> |
Пять обязательных | <a href="x"> |
é© |
Все не-ASCII | é© |
👍 |
Все не-ASCII | 👍 |
© 👍 |
Декодирование | © 👍 |
Частые вопросы
Зачем кодировать текст в HTML-сущности?
Если вставить текст на страницу как есть, символы вроде < воспринимаются как разметка. Обязательные символы в виде сущностей отображаются буквально, и это помогает предотвратить внедрение скриптов. Но это не заменяет правильного экранирования вывода на сервере.
Какие пять символов обязательны?
Амперсанд, знаки «меньше» и «больше», двойная и одинарная кавычки. Они превращаются в & < > " и '.
Нужно ли кодировать кириллицу и другие не-ASCII символы?
Нет, если документ в UTF-8. Режим «Все не-ASCII» нужен, только когда текст попадает туда, где кодировка не определена, или в систему, принимающую только ASCII.
Почему некоторые сущности не декодируются?
В HTML определено больше двух тысяч именованных сущностей. Инструмент знает около пятидесяти распространённых имён и все числовые ссылки; незнакомые имена остаются без изменений.