Конвертер Unicode в UTF-8

Превратите буквальный текст Unicode в escape-синтаксис \u00E9, \u{1F600}, который языки программирования встраивают в исходный код, или вставьте экранированную строку и декодируйте её обратно в исходные символы. Работает для символов BMP (4-значные escape) и дополнительных плоскостей вроде эмодзи (переменной длины \u{...}).

Как преобразовывать между Unicode и UTF-8 escape

  1. 1

    Выберите направление

    Кодируйте символы в `\u`-escape или декодируйте экранированную строку обратно в текст.

  2. 2

    Вставьте ваш ввод

    Обычный текст для кодирования; строка с последовательностями `\uXXXX` или `\u{XXXXX}` для декодирования.

  3. 3

    Прочитайте вывод

    Символы BMP дают четырёхзначные escape в стиле `\u0041`; символы выше U+FFFF используют форму ES6 `\u{...}`.

  4. 4

    Скопируйте в ваш код

    Поместите результат в строку JavaScript, литерал JSON, конфиг-файл или тестовую фикстуру.

Escape-синтаксис в разных языках

Разные языки записывают одну и ту же идею по-разному. Конвертер выдаёт распространённую форму JavaScript/JSON, но вот во что переводить, когда вы пишете тот же символ в другом месте.

Escape-синтаксис по языкам

Язык BMP (<= U+FFFF) Дополнительный (> U+FFFF)
JavaScript \u00E9 \u{1F600} (ES6+)
JSON \u00E9 Суррогатная пара \uD83D\uDE00
Python \u00e9 \U0001F600
Java \u00e9 Суррогатная пара
C / C++ \u00e9 \U0001F600
Ruby \u00e9 \u{1F600}
Rust \u{00e9} \u{1F600}
HTML-сущность &#xE9; &#x1F600;
CSS \0000e9 \1F600

Почему эмодзи нужна длинная форма

Базовая многоязычная плоскость (BMP) покрывает U+0000 до U+FFFF, всё помещается в одну 16-битную единицу, для чего и был задуман старый синтаксис \uXXXX. Эмодзи живут в основном в плоскости 1 (U+1F000 и выше), которая не помещается в четыре hex-цифры. Два варианта:

  1. Скобки ES6, \u{1F600} принимает любую длину.
  2. Суррогатные пары UTF-16, два escape \uXXXX на один символ. Парсеры JSON это принимают, и обычно именно это выдают кодировщики JSON.

Оба декодируются в одну и ту же строку, но суррогатные пары хрупки: разрезание строки между старшим и младшим суррогатом даёт невалидный UTF-16.

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

Четыре hex-цифры доходят максимум до U+FFFF. Эмодзи начинаются с U+1F000, поэтому им нужна форма скобок ES6 \u{...}, или суррогатная пара UTF-16, если вы работаете со старыми целями. Этот инструмент использует скобки для всего выше U+FFFF.

Не как пару. Декодер понимает форму со скобками \u{1F600} и четырёхзначные escape \uXXXX, но он не собирает обратно суррогатную пару UTF-16 (форму из двух escape, которую использует JSON) в один эмодзи: каждая половина декодируется сама по себе и не восстанавливается. Для всего выше U+FFFF вставляйте форму со скобками \u{...}, именно её и выдаёт кодировщик.

Нет. Escape вроде \u00E9 представляет кодовую точку U+00E9, а не байтовую последовательность UTF-8 (которая была бы C3 A9). Для просмотра сырых байтов используйте инструмент поиска Unicode, который показывает байты UTF-8 в HEX.

Преобразование происходит на стороне сервера в рамках этого запроса, но ничего не сохраняется: никакого логирования, никакого хранения преобразуемых строк.

Сопутствующие инструменты

Справочная таблица ASCII

Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.

Справочник символов HTML

Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.

Смешивание цветов

Смешайте два HEX-цвета в 2-20 равномерных образцов. Каждый промежуточный цвет показывается как HEX-код в верхнем регистре, включая оба края.

Справочник сочетаний клавиш

Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.

Счетчик FPS

Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.

Генератор случайных букв

Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.

Инструмент доступен на других языках