Как узнать кодовую точку символа и его представление в UTF-8
Введите текст или оставьте поле пустым, чтобы получить посимвольные сведения о кодовых точках, байтах UTF-8, количестве символов и категориях. Для непустого ввода результат содержит данные по каждому обработанному строковому символу.
Что проверяет Unicode Inspector
Unicode Inspector помогает разобрать текст посимвольно и увидеть технические сведения, которые скрыты за обычным отображением строки. Для каждого обработанного символа сервис показывает его позицию, само значение символа, числовую кодовую точку, кодовую точку в верхнем регистре шестнадцатеричной записи, байты UTF-8 в шестнадцатеричном виде и широкую категорию.
Такой просмотр пригодится, когда нужно проверить, почему похожие символы имеют разное представление, сопоставить число символов с объёмом UTF-8 или разобраться с отдельным знаком, включая эмодзи и текст на языках CJK. Инструмент принимает необязательный текстовый ввод. Если поле не заполнено и ввод не передан, используется пустая строка.
Результат относится к обрабатываемым строковым символам, а не к графемным кластерам или тому, как пользователь воспринимает знак на экране. Поэтому составной видимый символ может потребовать отдельного внимания при интерпретации данных. Проверенные успешные варианты включают обычный ASCII-текст, один эмодзи, текст CJK, пустой и пропущенный ввод.
Как провести проверку
-
Откройте инструмент и найдите поле для текста. Вставьте короткий фрагмент, отдельный знак или оставьте поле пустым. Поскольку текстовый ввод необязателен, отсутствие значения рассматривается как пустая строка.
-
Запустите обработку доступной кнопкой управления. Для непустого текста сервис рассматривает каждый обрабатываемый строковый символ отдельно. В строках результата найдите позицию, значение символа, числовую кодовую точку, её шестнадцатеричную запись в верхнем регистре, последовательность байтов UTF-8 в шестнадцатеричном виде и категорию.
-
Сверьте общий счётчик символов с количеством обработанных строковых символов. Затем сравните общий объём UTF-8 с суммой длин байтовых представлений, относящихся к этим символам. Эти два показателя описывают разные свойства: первый считает обработанные символы, второй складывает длины их UTF-8-кодировок.
-
Для проверки пустого варианта запустите обработку без текста. Успешный результат для пустой строки содержит нулевое количество символов и нулевой общий объём UTF-8. Такой вариант удобен как отдельная проверка поведения инструмента без исходного текста.
-
Если нужно сравнить разные знаки, повторите проверку с небольшими фрагментами по одному за раз. Например, можно отдельно посмотреть ASCII-символ, один эмодзи и знак из текста CJK. Такой порядок упрощает сопоставление позиции, кодовой точки и байтовой последовательности, не смешивая результаты нескольких наблюдений. Подобные варианты входят в число проверенных успешных примеров.
Как читать результат
Позиция в результате указывает место обработанного строкового символа во входном тексте. Числовая кодовая точка даёт числовое представление этого символа, а шестнадцатеричная запись показывает то же значение в другой форме. Байты UTF-8 описывают, какие байты получаются при кодировании конкретного обработанного символа; общий счётчик байтов складывает длины таких последовательностей.
Счётчик символов и счётчик UTF-8-байтов обычно не совпадают: один обработанный символ может иметь последовательность из нескольких байтов. Поэтому для оценки объёма строки в UTF-8 используйте именно общий байтовый итог, а для подсчёта обработанных элементов смотрите на счётчик символов.
Категория помогает получить широкую ориентировку по числовому диапазону кодовой точки. Это не следует трактовать как авторитетное определение Unicode-блока, письменности, языка или свойства символа: метки выбираются по широким диапазонам числовых кодовых точек.
При пустом вводе нулевые значения означают не ошибку, а успешную обработку строки без символов. Для непустого текста интерпретируйте каждую строку результата вместе с её позицией и байтовым представлением. Если видимый знак состоит из нескольких строковых элементов, данные могут отличаться от подсчёта того, что пользователь воспринимает как один знак. Инструмент не предназначен для анализа графемных кластеров, нормализации или визуального отображения текста.
Пример. В поле вводится один эмодзи, после чего запускается обработка. В результате ожидается запись для одного обработанного символа с его позицией, числовой и шестнадцатеричной кодовыми точками, байтами UTF-8 и категорией, а также общий счётчик символов и общий итог байтов. Проверяемая форма результата позволяет сопоставить сведения об этом знаке без подстановки непроверенных числовых значений.
Практический пример
Вы проверяете, какие сведения о кодовой точке и UTF-8 возвращаются для одного эмодзи.
Вставьте один эмодзи в поле текста и запустите обработку, затем сопоставьте запись символа с двумя общими счётчиками.
Для одного эмодзи ожидается одна запись с позицией, значением, числовой и шестнадцатеричной кодовыми точками, байтами UTF-8 и категорией, а также общие счётчики символов и байтов.
Ограничения
- Категории основаны на широких диапазонах числовых кодовых точек и не являются авторитетной классификацией блоков Unicode, письменности, языка или свойств символа; обработка не описывает графемные кластеры и визуальное восприятие.
Частые ошибки
- Причина: счётчик символов принимают за объём текста в UTF-8. Исправление: для количества обработанных элементов используйте счётчик символов, а для размера кодировки сравнивайте общий итог UTF-8 с байтовыми представлениями строк результата.
Частые вопросы
Что покажет проверка без текста?
При пустом вводе обработка завершается успешно и сообщает нулевое количество символов и нулевой общий объём UTF-8.
Какие сведения доступны для каждого символа?
Для непустого текста сервис показывает позицию, значение символа, числовую и шестнадцатеричную кодовые точки, байты UTF-8 и широкую категорию для каждого обработанного строкового символа.
Можно ли считать категорию точной классификацией Unicode?
Категория даёт широкую ориентировку по диапазону числовой кодовой точки, но не подтверждает Unicode-блок, письменность, язык или отдельное свойство символа.