Экранирование строк JavaScript
Экранируйте текст для строковых литералов JavaScript ("…", '…' или `…`) с \n, \t, \" и при желании \uXXXX для не-ASCII — либо снимайте экранирование строк JS.
Символов: 36 · байт: 40 (UTF-8)
Символов: 0 · байт: 0 (UTF-8)
Работает полностью в вашем браузере. Ваши данные никуда не загружаются.
Что такое Экранирование JavaScript?
Превращает любой текст в содержимое корректного строкового литерала JavaScript для выбранного вида кавычек, а экранированные строки JS преобразует обратно в обычный текст.
Как пользоваться Экранирование JavaScript
- Выберите Экранировать или Снять экранирование.
- Для экранирования выберите Ограничитель строки (двойные, одинарные кавычки или шаблонная строка) и при необходимости Экранировать не-ASCII как \uXXXX.
- Вставьте текст в Ввод и скопируйте Вывод между своими кавычками.
Пример
Path: C:\temp "new"
Path: C:\\temp \"new\"
Ограничитель — двойные кавычки.
Когда использовать Экранирование JavaScript
Используйте, когда зашиваете текст, шаблоны или JSON-подобные данные в исходный код JavaScript или TypeScript. При встраивании данных в теги HTML <script> убедитесь также, что </script> не может встретиться; для данных JSON используйте JSON.stringify или формат JSON в инструменте «Экранирование строк».
Как работает Экранирование JavaScript
При экранировании обратная косая черта, перевод строки, возврат каретки, табуляция, backspace, перевод страницы и вертикальная табуляция заменяются на \\ \n \r \t \b \f \v; выбранный символ кавычки получает обратную косую черту (для шаблонных строк также ${); остальные управляющие символы становятся \xHH, а U+2028/U+2029 экранируются всегда, потому что ломают старые парсеры. С опцией для не-ASCII каждый символ выше U+007E превращается в \uXXXX (для эмодзи — суррогатные пары). Снятие экранирования понимает все экранирования JS, включая \u{…}, \xHH, устаревшие восьмеричные и продолжение строки.
Распространенные Случаи Использования
- Вставка многострочного текста в строковую константу JS
- Экранирование кавычек в строках для генераторов кода
- Получение исходных файлов только из ASCII с экранированием \u
- Чтение экранированных строк из минифицированного кода или логов
Часто Задаваемые Вопросы
Какие символы кавычек экранируются?
Только тот, который вы выбрали ограничителем (а в режиме шаблонной строки ещё обратная кавычка и ${), поэтому результат остаётся читаемым.
Почему U+2028 и U+2029 экранируются?
До ES2019 они считались концами строк внутри строковых литералов и могли ломать код в старых движках.
Корректен ли результат как JSON?
Не всегда: JSON не допускает \x, \v и строки в одинарных кавычках. Для JSON используйте формат JSON в инструменте «Экранирование строк».