DT Dev Tools

String Escaper — Экранирование и снятие экранирования строк

Экранируйте и снимайте экранирование строк для JSON, JavaScript, HTML, URL и последовательностей с обратной косой чертой в браузере. Бесплатно, в обе стороны, без загрузок.

🔒 Работает полностью в вашем браузере — ничего не загружается

Advertisement

Что делает String Escaper

String Escaper преобразует текст в экранированные формы, используемые в пяти распространённых контекстах, и обратно. Экранирование JSON оборачивает ваш текст в корректный строковый литерал JSON, кодируя кавычки, обратные косые черты и управляющие символы, такие как перевод строки и табуляция. Экранирование JavaScript делает то же самое для исходного кода и дополнительно обрабатывает одинарные кавычки и обратные апострофы, поэтому результат безопасен в любом ограничителе строк JavaScript. Экранирование HTML заменяет зарезервированные символы &, <, > и кавычки соответствующими сущностями, чтобы текст отображался как данные, а не как разметка. Экранирование URL применяет процентное кодирование к значению для использования в строке запроса или сегменте пути, а экранирование обратной косой чертой обрабатывает общие последовательности \n, \t, \r и \\, встречающиеся во многих форматах конфигураций и логов.

Каждый формат работает в обе стороны. Экранирование готовит исходное значение к встраиванию, а снятие экранирования восстанавливает исходный текст из уже закодированной строки, что полезно, когда вы копируете значение из полезной нагрузки JSON, атрибута HTML, URL-адреса или трассировки стека и хотите прочитать его в обычном виде. Переключение между пятью форматами одним элементом управления позволяет легко применить к фрагменту именно то преобразование, которое требуется в данном контексте, не ища отдельный инструмент.

Приватная работа в браузере

Всё экранирование и снятие экранирования выполняется в вашем браузере с помощью клиентского JavaScript. Инструмент не отправляет ваши тексты, токены, URL-адреса, разметку или фрагменты логов на сервер и не требует учётной записи. Такая исключительно локальная модель важна, потому что строки, вставляемые в инструмент экранирования, часто являются настоящими значениями из продакшен-данных при расследовании ошибки кодировки. Работа на вашем устройстве снижает риски и делает результат мгновенным, так как между вводом и результатом ничто не покидает страницу.

Интерфейс держит выбор формата, ввод и вывод рядом, чтобы вы могли проверить преобразование перед копированием. Результаты всё равно стоит оценивать в контексте: правильное экранирование зависит от того, куда именно будет помещено значение, а строка, безопасная в одном месте, например в текстовом узле HTML, может потребовать иной обработки в другом, например в атрибуте, блоке скрипта или URL.

Практические советы

Выбирайте формат по назначению, а не по источнику: текст для файла JSON требует экранирования JSON, значение для строки запроса — экранирования URL, а содержимое, выводимое на страницу, — экранирования HTML. Будьте осторожны при объединении контекстов — значение, попадающее в тег script в HTML, может требовать и экранирования JavaScript, и HTML — потому что применение только одного оставляет риск инъекции. При снятии экранирования убедитесь, что входные данные действительно используют выбранный формат, так как несоответствующие форматы могут незаметно дать вводящий в заблуждение результат. Для результатов, критичных с точки зрения безопасности, отдавайте предпочтение встроенным кодировщикам вашего фреймворка, которые понимают весь контекст, а этот инструмент используйте для просмотра, подготовки и быстрых исправлений.

Как использовать

  1. Выберите форматВыберите экранирование JSON, JavaScript, HTML, URL или обратной косой чертой.
  2. Экранируйте или снимите экранированиеВыполните преобразование в любую сторону для ваших данных.
  3. Скопируйте результатПроверьте результат и скопируйте его обратно в код.

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

Какие форматы экранирования поддерживаются?
Строка JSON, строка JavaScript, HTML, компонент URL и общие последовательности с обратной косой чертой — как для экранирования, так и для снятия экранирования.
Чем отличается экранирование JSON от JavaScript?
Экранирование JSON создаёт строгий строковый литерал JSON, а экранирование JavaScript также обрабатывает символы вроде одинарных кавычек и обратных апострофов, используемых в коде JS.
Загружается ли мой текст?
Нет. Экранирование и снятие экранирования полностью выполняются в вашем браузере.
Advertisement