Вставьте текст, где вместо букв стоят \u0418\u0432\u0430\u043d, \xd0\x98 или И, — покажем, что там написано. Форматы определяются сами, их можно смешивать. Обратная операция превращает текст в escape-последовательности для JSON, JavaScript, Python, HTML или CSS.
Текст обрабатывается в браузере и никуда не отправляется
Нажмите на любую ячейку — код скопируется. Повторы не схлопываем: это разбор строки по порядку.
04
Форматы
где какой встречается — на примере «И» и 😀
\uXXXX
JSON · JS · Java · C#
Четыре hex-цифры. Символы за пределами U+FFFF — парой суррогатов.
И\u0418
😀\ud83d\ude00
\u{…}
ES6 · Rust · Swift
Код целиком в фигурных скобках, без суррогатных пар.
И\u{418}
😀\u{1f600}
\U и \x
Python · C
\U — восемь hex-цифр; \x — отдельные байты UTF-8, так Python печатает bytes.
И\u0418 · \xd0\x98
😀\U0001f600 · \xf0\x9f\x98\x80
&#…;
HTML · XML
Числовая ссылка: шестнадцатеричная с x или десятичная.
ИИ · И
😀😀 · 😀
U+
Документация
Запись кода в таблицах Unicode и справочниках, не в коде программ.
ИU+0418
😀U+1F600
CSS \…
Свойство content
Обратная косая и hex. После кода — пробел, если дальше hex-цифра или пробел.
И\418
😀\1f600
05
Частые вопросы
Вставьте текст в поле «Расшифровать»: последовательности вида \u0430 сразу заменятся буквами, остальной текст останется как был. \u0430 — это «а», \u0418 — «И». Так JSON и JavaScript записывают символы за пределами латиницы: четыре шестнадцатеричные цифры номера символа в Unicode. Кириллица занимает номера от \u0400 до \u04ff, поэтому русский текст в такой записи легко узнать по началу \u04.
Многие библиотеки по умолчанию экранируют всё, что не входит в ASCII: Python json.dumps без ensure_ascii=False, PHP json_encode без флага JSON_UNESCAPED_UNICODE. Данные при этом не испорчены — это та же строка в другой записи, и любая программа прочитает её правильно. Чтобы прочитать файл глазами, вставьте его сюда или перетащите целиком: файл до 5 МБ расшифровывается в браузере.
Это байты в кодировке UTF-8: так Python печатает объект bytes, когда в нём не только латиница. Буква «И» в UTF-8 занимает два байта, d0 и 98, поэтому русское слово превращается в цепочку \xd0\x98\xd0\xb2 и так далее. Вставьте строку вида b'\xd0\x98…' — инструмент соберёт байты подряд и покажет текст. Если байты не складываются в UTF-8, он предупредит об этом.
Так бывает, когда JSON кладут внутрь другой JSON-строки: обратная косая черта экранируется ещё раз и превращается в две. Получается \\u0418 вместо \u0418, а кавычки становятся \". Инструмент замечает это сам: если в тексте есть только удвоенные коды, он снимает один слой и сообщает об этом. Галочку можно снять, если двойная черта в тексте нужна.
Зависит от языка. В JSON и старом JavaScript эмодзи записывается парой кодов, суррогатной парой: 😀 — это \ud83d\ude00. В современном JavaScript, Rust и Swift пишут код целиком в фигурных скобках — \u{1f600}, в Python — \U0001f600, в HTML — 😀. Выберите формат в блоке «Экранировать», и инструмент сам разобьёт символ на пару, где это нужно.
Никуда. Расшифровка и экранирование выполняются в браузере, на этой странице: текст не отправляется на сервер, не попадает в адрес страницы и не сохраняется в браузере. Запоминаются только настройки — выбранный формат, охват и регистр букв. Статистика сайта учитывает лишь то, что инструментом воспользовались и какой формат встретился, без самого текста и без символов из него.