Unicode Normalizer
Нормализуйте Unicode текст, используя формы NFC, NFD, NFKC и NFKD.
Ввод
Вывод
Документация
Что такое нормализация Unicode?
Unicode определяет несколько способов представления одного и того же видимого символа. Например, символ "é" может быть сохранён как единая предкомпозированная кодовая точка (U+00E9) или как буква "e", за которой следует комбинирующий острый акцент (U+0065 U+0301). Оба варианта отображаются идентично, но различаются на уровне байтов, что вызывает проблемы при сравнении строк, поиске и обработке текста.
Нормализация Unicode — это процесс преобразования текста в каноническое представление, при котором эквивалентные строки становятся идентичными. Unicode Standard определяет четыре формы нормализации:
- NFC (каноническая декомпозиция, за которой следует каноническая композиция): предкомпозированная форма; наиболее компактная, широко используется в веб-приложениях и большинстве операционных систем.
- NFD (каноническая декомпозиция): полностью разложенная форма; каждый символ разбивается на базовую букву и комбинирующие диакритические знаки.
- NFKC (декомпозиция совместимости, за которой следует каноническая композиция): как NFC, но также преобразует символы совместимости (например, лигатуры, надстрочные символы, полноширинные варианты) в их канонические эквиваленты.
- NFKD (декомпозиция совместимости): как NFD, но также применяет декомпозицию совместимости.
Описание инструмента
Этот инструмент нормализует текст Unicode из одной формы нормализации в другую. Выберите исходную и целевую формы, вставьте текст, и преобразованный результат появится мгновенно.
Возможности
- Все четыре формы нормализации: поддерживает NFC, NFD, NFKC и NFKD как в качестве источника, так и в качестве целевой формы.
- Двусторонняя конвертация: свободно переключайтесь между любой комбинацией форм.
- Вывод в реальном времени: текст нормализуется мгновенно при вводе или вставке.
- Работает с любым скриптом Unicode: поддерживает латиницу, CJK, арабский, кириллицу и любой другой текст в кодировке Unicode.
Как это работает
Инструмент применяет стандартный метод JavaScript String.prototype.normalize() с выбранной целевой формой. Это полностью соответствующая спецификации реализация нормализации Unicode, определённая в Unicode Standard Annex #15.
Варианты использования
- Исправление сравнения строк: нормализуйте текст перед сравнением или индексированием, чтобы визуально идентичные строки совпадали корректно.
- Консистентность поиска и базы данных: стандартизируйте пользовательский ввод в одну форму (обычно NFC) перед сохранением в базу данных, чтобы предотвратить дублирование записей, отличающихся только кодировкой.
- Свёртывание совместимости: используйте NFKC для преобразования лигатур, надстрочных символов и полноширинных символов в их стандартные эквиваленты для индексирования поиска или обработки естественного языка.