UTILS.
100% в браузере
🔤

Инспектор символов Unicode

Разбейте любую строку на кодовые точки и покажите для каждой её hex U+, категорию, блок, байты UTF-8/UTF-16, HTML-сущность, JS-экранирование, процентное кодирование и флаги.

Введите текст выше, чтобы проинспектировать каждый символ.

Об этом инструменте

Инспектор символов Unicode разбивает строку на её отдельные кодовые точки и показывает всё о каждой из них. Он итерирует по кодовым точкам (а не по 16-битным единицам), поэтому астральные символы и эмодзи, состоящие из суррогатных пар, обрабатываются корректно. Для каждой кодовой точки вы получаете глиф, её hex-значение U+XXXX, десятичное значение, имя для известных символов, общую категорию и блок Unicode, к которому она принадлежит.

Весь анализ выводится алгоритмически в вашем браузере, и ничего не загружается на сервер. Кодировки вычисляются с нуля: байты UTF-8 следуют правилам кодирования от 1 до 4 байтов, кодовые единицы UTF-16 — это одна единица в BMP или пара из старшего/младшего суррогата (D800–DBFF / DC00–DFFF) выше него, числовая HTML-сущность — это &#nnnn;, JavaScript-экранирование — это \uXXXX для BMP или \u{XXXXX} для астральных кодовых точек, а процентное кодирование — это байты UTF-8, записанные как %XX. Общая категория (Lu, Ll, Nd, Mn, Zs, Cc и так далее) определяется с помощью регулярных выражений со свойствами Unicode.

Инспектор помечает символы, которые часто вызывают ошибки или используются для сокрытия текста: символы нулевой ширины (200B–200D, 2060, FEFF), двунаправленные управляющие символы (200E, 200F, 202A–202E, 2066–2069), комбинирующие знаки и управляющие символы C0/C1 — они показываются точкой, чтобы невидимое содержимое стало видимым. Итоговая строка сообщает количество кодовых точек, длину UTF-16 (String.length) и общее количество байтов UTF-8. Этот инструмент для инспекции; для нормализации между NFC и NFD используйте нормализатор Unicode. Скопируйте полную разбивку как текст с разделителями-табуляциями.

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

Почему эмодзи считается одной записью, но длиной 2?
Многие эмодзи и все символы выше U+FFFF — это одиночные кодовые точки, закодированные в UTF-16 как суррогатная пара — две 16-битные единицы. Инспектор итерирует по кодовым точкам, поэтому показывает одну строку, тогда как String.length в JavaScript считает две единицы, о чём итог сообщает отдельно.
Как выводятся байты UTF-8 и UTF-16?
Они вычисляются напрямую из кодовой точки: UTF-8 использует стандартные правила 1–4 байтов, а UTF-16 — это одна единица для символов BMP или пара из старшего+младшего суррогата (D800–DBFF затем DC00–DFFF) для астральных. Процентное кодирование — это просто те байты UTF-8 как %XX.
Что означают флаги?
Они выделяют легко упускаемые символы: нулевой ширины (200B–200D, 2060, FEFF), двунаправленные управляющие, которые могут переупорядочить текст, комбинирующие знаки, прикрепляющиеся к предыдущей букве, и управляющие символы. Такие символы отображаются средней точкой, чтобы скрытое или невидимое содержимое было раскрыто.
Показывает ли он официальное имя символа Unicode?
Он называет известные символы (управляющие коды, пробелы, символы нулевой ширины и bidi-управляющие) и всегда показывает блок Unicode и общую категорию для каждой кодовой точки. Полные имена по каждому символу из базы данных Unicode не включены, поэтому имя блока служит дескриптором в остальных случаях.

Больше инструментов