Декодер Unicode

Преобразование между Unicode-экранированием и текстом. Поддержка \uXXXX, \UXXXXXXXX, сущностей &#XXXX; и поиск кодовых точек. Вся обработка выполняется в вашем браузере.

Кодирование и декодирование Информация о символе Обработка на стороне клиента
Результат появится здесь...

Как использовать декодер Unicode

1

Выберите режим

Выберите режим «Декодирование» (экранирование в текст) или «Кодирование» (текст в экранирование).

2

Введите данные

Вставьте Unicode-экранирование или обычный текст в зависимости от режима.

3

Преобразование

Нажмите «Преобразовать» и просмотрите результат и подробности о символах.

Что такое кодирование Unicode?

Кодирование Unicode позволяет представлять символы из любого языка или системы символов в различных форматах. Распространённые форматы кодирования включают \uXXXX (JavaScript/JSON), &#NNNNN; (HTML-сущности) и U+XXXX (кодовые точки Unicode). Эти кодирования обеспечивают безопасную передачу и отображение текста в различных системах.

Форматы кодирования

Кодировка JavaScript

Используется в строках JSON и JavaScript

HTML-сущности (&#XXXX;)

Используется в HTML для представления специальных символов

Экранирование CSS (\XXXXXX)

Используется в содержимом и идентификаторах CSS

Исправление «кракозябр» (mojibake)

Искажённый текст (mojibake, «кракозябры») возникает, когда байты одной кодировки интерпретируются другой. Самый частый случай: байты UTF-8 читаются как Windows-1252 или Latin-1, и «café» превращается в «café». Переключитесь в режим исправления, вставьте испорченный текст — декодер обработает каждый символ как исходный байт и перекодирует его в UTF-8.

Типичные примеры искажений

Искажено Восстановлено Причина
café café UTF-8 → Latin-1
å¼ ä¸‰ 张三 UTF-8 → Latin-1
“hi†“hi” UTF-8 → double-encoded
ü ö ñ ü ö ñ UTF-8 → Windows-1252
�� � � байты уже потеряны (U+FFFD)

Чтобы избежать mojibake в своих приложениях, всегда явно указывайте кодировку: HTML — <meta charset="UTF-8">, заголовок Content-Type: text/html; charset=utf-8 и UTF-8 в базе данных и соединениях.

Сравнение UTF-8, UTF-16 и UTF-32

UTF-8 UTF-16 UTF-32
Единица кодирования 8 bit 16 bit 32 bit
A (U+0041) 41 00 41 00 00 00 41
é (U+00E9) C3 A9 00 E9 00 00 00 E9
中 (U+4E2D) E4 B8 AD 4E 2D 00 00 4E 2D
🎉 (U+1F389) F0 9F 8E 89 D8 3C DF 89 00 01 F3 89
Лучше всего для Веб, JSON, API — совместим с ASCII и компактен Строки в памяти Java, JavaScript, C# Прямой доступ к кодовым точкам, редко

Часто используемые кодовые точки Unicode

Быстрая справка по часто запрашиваемым символам: пунктуация, валюты, диакритика и математические знаки с кодами U+XXXX.

Пунктуация и символы

“U+201C ”U+201D ‘U+2018 ’U+2019
–U+2013 —U+2014 …U+2026  U+A0
©U+A9 ®U+AE ™U+2122 °U+B0

Валюты

€U+20AC £U+A3 ¥U+A5 ₹U+20B9
¢U+A2 ₽U+20BD ₩U+20A9 ฿U+E3F

Буквы с диакритикой

éU+E9 èU+E8 êU+EA üU+FC
öU+F6 ñU+F1 åU+E5 øU+F8
çU+E7 ßU+DF ąU+105 žU+17E

Математика и стрелки

±U+B1 ×U+D7 ÷U+F7 ≈U+2248
≠U+2260 ≤U+2264 ≥U+2265 →U+2192
∞U+221E ∑U+2211 √U+221A µU+B5

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

Какие форматы Unicode-экранирования поддерживаются?

Этот инструмент поддерживает \uXXXX (BMP), \UXXXXXXXX (полный Unicode), &#DDDD; (десятичная HTML-сущность), &#xHHHH; (шестнадцатеричная HTML-сущность) и U+XXXX (нотация кодовой точки) для декодирования.

Как работает кодирование UTF-8?

UTF-8 кодирует каждую кодовую точку Unicode, используя от 1 до 4 байтов. Символы ASCII (от U+0000 до U+007F) используют 1 байт, латинские и другие распространённые символы — 2 байта, большинство CJK-символов — 3 байта, а эмодзи и редкие символы — 4 байта.

В чём разница между \u и \U?

\uXXXX использует 4 шестнадцатеричные цифры и может представлять символы в базовой многоязычной плоскости (от U+0000 до U+FFFF). \UXXXXXXXX использует 8 шестнадцатеричных цифр и может представлять любой символ Unicode, включая символы за пределами BMP.

Почему в тексте появляются символы вроде «Ã©» или «ï¿½» и как это исправить?

Это признаки mojibake: байты UTF-8 были декодированы как Windows-1252/Latin-1. «Ã©» означает, что два байта UTF-8 буквы «é» (0xC3 0xA9) показаны как два отдельных символа. Используйте режим исправления. «ï¿½» — это U+FFFD, символ замены: байты уже потеряны и восстановить их нельзя.

В чём разница между UTF-8 и UTF-16?

UTF-8 кодирует символы 1–4 байтами и полностью совместим с ASCII — это стандарт для веба, JSON и API. UTF-16 использует 2 или 4 байта (суррогатные пары для символов после U+FFFF) и применяется внутри JavaScript, Java и Windows. Для веб-текстов UTF-8 обычно компактнее и надёжнее.

В чём разница между кодовой точкой и кодовой единицей?

Кодовая точка — это число, присвоенное символу в стандарте Unicode (U+00E9 для буквы é); кодовая единица — это единица хранения, которую использует кодировка. Кодовые единицы UTF-8 — это 8-битные байты, и U+00E9 занимает две, в то время как кодовые единицы UTF-16 — 16-битные, и символам за пределами U+FFFF требуются две такие единицы (суррогатная пара). Строки в JavaScript — это UTF-16, поэтому 'hello'.length равно 5, а .length эмодзи — 2.

Что такое формы нормализации Unicode и когда они важны?

Один и тот же видимый символ может быть представлен несколькими байтовыми последовательностями: é как один прекомпозированный символ (NFC) или e плюс комбинируемое ударение (NFD). NFC выполняет композицию, NFD — декомпозицию, а NFKC/NFKD дополнительно сворачивают символы совместимости (полноширинные формы, лигатуры). Сравнение или хеширование пользовательского ввода без предварительной нормализации — классическая причина дублирующихся учётных записей и неудачных поисков — лигатура fi против f+i.

Что такое BOM и почему он ломает мои файлы?

Маркер порядка байтов (BOM) — это U+FEFF, закодированный в начале потока (EF BB BF в UTF-8) для указания кодировки. Редакторы обычно его скрывают, но дальше по цепочке он становится невидимым первым символом: заголовок CSV получает фантомный ключ, разбор JSON падает на лишнем токене, а сессии PHP выводят его до отправки заголовков. UTF-8 не нуждается в BOM, так как не имеет неоднозначности порядка байтов — сохраняйте файлы без него.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}