Как это работает
Кодирование создаёт ASCII-представление строки: символы за пределами ASCII записываются как \uXXXX, а emoji вне BMP — парой суррогатных escape-последовательностей. JSON-режим возвращает полноценную строку в двойных кавычках. Режим JavaScript возвращает содержимое без внешних кавычек и при декодировании дополнительно понимает \u{1F600}, \x41 и стандартные управляющие escape-последовательности. Код не выполняется.
Практический пример
Выберите «Escape → текст» и JSON, затем нажмите «Пример»: строка с \u041f и суррогатной парой превратится в «Привет 😀». Для \u{1F600} используйте JavaScript-режим. Чтобы получить ASCII-строку из русского текста, выберите обратное направление.
Локальная обработка
Текст и результат не отправляются на сервер, не попадают в аналитику и не сохраняются в браузерном хранилище. Копирование и скачивание запускаются только вами.
Вопросы и ответы
Почему JSON требует двойные кавычки?
JSON-режим принимает ровно одно строковое значение JSON, включая внешние двойные кавычки. Объекты, массивы и числа не являются строкой. Для форматирования целого документа используйте JSON-форматтер.
Поддерживается весь синтаксис JavaScript?
Нет. Это преобразователь содержимого строки, не парсер программы. Поддерживаются \uXXXX, \u{…}, \xXX, \n, \r, \t, \b, \f, \v, \0, экранированные кавычки, слеш и обратный слеш. Восьмеричные escape, продолжения строк и неизвестные последовательности отклоняются. Внешние кавычки в этом режиме считаются частью текста; результат не предназначен для вставки в шаблонные литералы.
Что происходит с ошибками Unicode?
Неполные escape-последовательности, значения выше U+10FFFF и непарные суррогаты отклоняются. Позиции ошибок считаются с 1 по кодовым точкам; для суррогата после декодирования позиция относится к результату. Лимит исходника — 50 000 единиц UTF-16, поэтому длинный закодированный результат может превышать лимит обратного ввода.