Кодирование и экранирование

Экранирование строкс явным выбором контекста

Выберите направление и контекст, укажите форму с кавычками или без них и проверьте символы результата.

Экранирование строк

Ввод

Результат

Проверка символов

Кодовые точки и одиночные единицы UTF-16; это не количество графем.

Текст обрабатывается в этом браузере и не отправляется на сервер.

Параметры

Строгий JSON; явно ограниченный синтаксис JavaScript. Unicode принимает только выбранный формат.

До 1 048 576 единиц UTF-16 на входе и 4 194 304 на выходе.

Введите текст или загрузите пример.

Проверьте замену перед применением и сменой направления. Доступна одна отмена. Перенос недоступен, если результат превышает предел ввода.

Экранирование строк нужно, когда многострочное сообщение или путь Windows становится значением в JSON. Кавычки, обратные слеши и управляющие символы должны получить запись, которую прочитает нужный парсер.

Обратное преобразование помогает читать значения из журналов. Оно снимает ровно один слой: буквальная последовательность из слеша и n не должна превращаться в перенос строки раньше, чем обработан соответствующий слой.

Экранирование строк с проверкой представления

Кавычки выбираются явно

Экранирование строк показывает, где заканчивается значение и начинается синтаксис его записи. Полный литерал содержит внешние кавычки; режим содержимого оставляет только внутреннюю часть. Для JavaScript отдельно выбираются одинарные или двойные кавычки, чтобы апостроф обрабатывался в правильном контексте.

Текст с кавычками и переносом преобразован в литерал с внешними кавычками и escape-последовательностями.

Один эмодзи, две единицы UTF-16

Символ за пределами основной плоскости представлен суррогатной парой. Инспектор связывает её с одной кодовой точкой и отдельно отмечает суррогат, оставшийся без пары.

Эмодзи сопоставлен с парой D83D DE00 и одной кодовой точкой 1F600.

Выбрать нужный слой и проверить замену

01

Указать форму исходной строки

По умолчанию создаётся полный JSON-литерал. Для снятия экранирования фрагмента без внешних кавычек выберите только содержимое. Пробелы внутри значения не обрезаются.

02

Настроить активный контекст

Одинарные кавычки доступны для JavaScript, а экранирование не-ASCII — для JSON и JS. Unicode кодирует все символы и при декодировании принимает только выбранную форму записи.

03

Применить проверенный результат

При выключенной автоматике используйте Ctrl/Cmd+Enter. Перенос результата во ввод сначала показывает предпросмотр; применение меняет направление. Одна отмена восстанавливает предыдущее состояние.

От последовательности к значению символа

Строгое деэкранирование JSON

Поддерживаются JSON-последовательности для кавычек, обратных слешей и управляющих символов. Ошибочная запись отмечается с позицией во вводе, а не исправляется молча.

JavaScript без запуска кода

Читаются отдельные литералы, формы \xHH, \uXXXX и \u{...}, а также допустимые управляющие последовательности. Выражения не вычисляются.

Два способа записи Unicode

UTF-16 выдаёт четыре шестнадцатеричные цифры на единицу. Форма с фигурными скобками объединяет корректную пару в одну кодовую точку. ASCII-символы тоже кодируются.

Проверка единиц и полный отчёт

Таблица сначала показывает 50 элементов и расширяется до 100; итоговый счётчик учитывает всё значение. Отчёт JSON сохраняет полный ввод, вывод и значение вместе с выборкой символов.

Границы синтаксиса и сохранения данных

В JSON обрабатывается одна строка
При декодировании объекты, массивы, одинарные внешние кавычки и сырые управляющие символы запрещены. JSON допускает \uXXXX, но не \xHH и не \u{...}. Содержимое не очищается и не обрезается.
JavaScript поддерживается частично
Восьмеричные и identity-последовательности вроде \q отклоняются. \/ разрешена; после \0 не должно быть цифры. Программы, комментарии, конкатенация и шаблонные литералы не поддерживаются.
Продолжение строки не создаёт символ
Обратный слеш перед LF, CR, CRLF, U+2028 или U+2029 удаляется вместе с границей строки при декодировании JS. Сырые LF и CR запрещены; сырые U+2028 и U+2029 допустимы. \n создаёт настоящий перенос.
Unicode не смешивает формы
Каждый обратный слеш обязан начинать выбранную Unicode-форму. Другие escape-последовательности и значения выше U+10FFFF отклоняются. Одиночные суррогаты сохраняются, в том числе в фигурных скобках; это не скалярные значения Unicode.
Одиночные суррогаты сохраняются в JSON
При их наличии в результате копирование и TXT недоступны. Отчёт JSON сохраняет исходные единицы в экранированной записи. Его предел — 16 777 216 единиц UTF-16.
Предпросмотр короче полного результата
Ввод ограничен 1 048 576 единицами UTF-16, вывод — 4 194 304. Предпросмотр текста содержит до 20 000; файлы сохраняют весь результат. За проход снимается один слой. Для HTML, URL и SQL нужны отдельные инструменты.

Вопросы про Экранирование строк

Какие символы обязательно экранировать в JSON?

Двойные кавычки, обратные слеши и управляющие символы от U+0000 до U+001F. Кириллица может оставаться обычным текстом; опция не-ASCII позволяет записать её через Unicode-последовательности.

Можно ли убрать экранирование без внешних кавычек?

Да, выберите режим содержимого. Полный литерал, напротив, требует внешних кавычек. Явный выбор не даёт перепутать разделители с кавычками, которые являются частью значения.

Почему не получается деэкранировать строку?

Проверьте незавершённый слеш, неэкранированную кавычку и неполную Unicode-последовательность. Убедитесь, что контекст соответствует источнику: допустимая JS-запись может быть запрещена в JSON. Ошибка содержит позицию.

Чем экранирование отличается от форматирования JSON?

Форматирование меняет отступы в структурированном документе. Здесь преобразуется запись текстового значения. Вставленный объект в режиме экранирования станет содержимым строки, а не будет отформатирован как объект.

Можно ли экранировать многострочный текст?

Да. Настоящие переводы строки превращаются в \n и \r. При декодировании JSON эти записи восстанавливают управляющие символы; сырой перенос внутри литерала не допускается.

Не нашли ответ?

Экранирование строк перед вставкой в документ

Экранирование строк позволяет проверить значение до переноса. Загрузите пример и сравните кавычки, переносы и Unicode-единицы.