Декодер Unicode
Преобразование между Unicode-экранированием и текстом. Поддержка \uXXXX, \UXXXXXXXX, сущностей &#XXXX; и поиск кодовых точек. Вся обработка выполняется в вашем браузере.
Результат появится здесь...
Информация о символе
| Символ | Кодовая точка | Байты UTF-8 | HTML-сущность | Экранирование CSS | Экранирование JS |
|---|
Как использовать декодер Unicode
Выберите режим
Выберите режим «Декодирование» (экранирование в текст) или «Кодирование» (текст в экранирование).
Введите данные
Вставьте Unicode-экранирование или обычный текст в зависимости от режима.
Преобразование
Нажмите «Преобразовать» и просмотрите результат и подробности о символах.
Что такое кодирование 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 |
Часто задаваемые вопросы
Этот инструмент поддерживает \uXXXX (BMP), \UXXXXXXXX (полный Unicode), &#DDDD; (десятичная HTML-сущность), &#xHHHH; (шестнадцатеричная HTML-сущность) и U+XXXX (нотация кодовой точки) для декодирования.
UTF-8 кодирует каждую кодовую точку Unicode, используя от 1 до 4 байтов. Символы ASCII (от U+0000 до U+007F) используют 1 байт, латинские и другие распространённые символы — 2 байта, большинство CJK-символов — 3 байта, а эмодзи и редкие символы — 4 байта.
\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 кодирует символы 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.
Один и тот же видимый символ может быть представлен несколькими байтовыми последовательностями: é как один прекомпозированный символ (NFC) или e плюс комбинируемое ударение (NFD). NFC выполняет композицию, NFD — декомпозицию, а NFKC/NFKD дополнительно сворачивают символы совместимости (полноширинные формы, лигатуры). Сравнение или хеширование пользовательского ввода без предварительной нормализации — классическая причина дублирующихся учётных записей и неудачных поисков — лигатура fi против f+i.
Маркер порядка байтов (BOM) — это U+FEFF, закодированный в начале потока (EF BB BF в UTF-8) для указания кодировки. Редакторы обычно его скрывают, но дальше по цепочке он становится невидимым первым символом: заголовок CSV получает фантомный ключ, разбор JSON падает на лишнем токене, а сессии PHP выводят его до отправки заголовков. UTF-8 не нуждается в BOM, так как не имеет неоднозначности порядка байтов — сохраняйте файлы без него.
Похожие инструменты
Hex-декодер
Конвертация между шестнадцатеричным форматом и текстом с настройкой разделителей и префиксов
Декодер HTML-сущностей
Кодирование и декодирование HTML-сущностей — преобразование между спецсимволами и ссылками на сущности
Декодер Base64 и URL
Декодирование и кодирование Base64, парсинг URL-кодированных строк, предпросмотр изображений Base64 и декодирование сегментов заголовка или полезной нагрузки JWT
Авторитетные источники
Первоисточники, лежащие в основе этого инструмента, — официальные стандарты и спецификации, а не пересказы из вторых рук.
Unicode Consortium - Home
Домашняя страница Консорциума Unicode — стандарта, который присваивает каждому символу его кодовую точку.
Unicode - Wikipedia
Стандарт Unicode: плоскости, блоки и формы нормализации.
UTF-8 - Wikipedia
Как UTF-8 кодирует кодовые точки в байты — объяснение доминирующей веб-кодировки.