Создано для безопасного HTML-вывода
Экранируйте пользовательский контент для шаблонов, декодируйте данные с HTML-сущностями — и пара мелочей, благодаря которым этим действительно приятно пользоваться.
Четыре режима кодирования
Minimal экранирует только пять небезопасных для HTML символов (& < > " ') — правильный выбор по умолчанию для обычного пользовательского контента. Named использует читаемые HTML5-сущности вроде © / / ♥ там, где они существуют. Numeric кодирует каждую non-ASCII-кодовую точку как &#NN;. All non-ASCII кодирует каждую кодовую точку за пределами печатного ASCII для устаревших / только-ASCII пайплайнов.
Декодирование любых сущностей
Декодер обрабатывает именованные сущности (©), десятичные числовые (©) и шестнадцатеричные числовые (©). Кодовые точки из суррогатных пар (emoji, древние письменности) корректно проходят туда-обратно через UTF-16.
Живое превью
Результат обновляется при каждом нажатии клавиши — никакой кнопки Encode / Decode нажимать не нужно. Меняйте направление одним кликом; кнопка Swap переносит результат обратно во ввод, чтобы можно было сцеплять преобразования.
Безопасно для UTF-8 + emoji + CJK
Каждая кодовая точка Unicode проходит туда-обратно: 中文, العربية, русский, हिंदी, 🎉, Þorgeir. Кодировщик использует обход по кодовым точкам (а не charAt), так что суррогатные пары остаются целыми.
Приватность по умолчанию
Ваш текст остаётся на вашем устройстве. Кодировщик, декодер и таблица именованных сущностей выполняются локально на JavaScript. Откройте DevTools → Network и убедитесь, что исходящих запросов ноль.
Маленький и быстрый
Чистый JavaScript, без рантайма какого-либо фреймворка. Холодная загрузка — менее 25 КБ gzip. HTML-документ в 100 КБ кодируется быстрее чем за 5 мс.