NormalizationForm Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет тип нормализации для выполнения.
public enum class NormalizationForm
public enum NormalizationForm
[System.Runtime.InteropServices.ComVisible(true)]
public enum NormalizationForm
type NormalizationForm =
[<System.Runtime.InteropServices.ComVisible(true)>]
type NormalizationForm =
Public Enum NormalizationForm
- Наследование
- Атрибуты
Поля
| Имя | Значение | Описание |
|---|---|---|
| FormC | 1 | Указывает, что строка Юникода нормализуется с помощью полной канонической декомпозиции, за которой следует замена последовательностей их основными составными, если это возможно. |
| FormD | 2 | Указывает, что строка Юникода нормализуется с помощью полной канонической декомпозиции. |
| FormKC | 5 | Указывает, что строка Юникода нормализована с помощью полной декомпозиции совместимости, за которой следует замена последовательностей их основными составными, если это возможно. |
| FormKD | 6 | Указывает, что строка Юникода нормализуется с помощью полной декомпозиции совместимости. |
Комментарии
Некоторые последовательности Юникода считаются эквивалентными, так как они представляют один и тот же символ. Например, следующие варианты считаются эквивалентными, так как любое из них можно использовать для представления "ắ":
"\u1EAF" (U+1EAF LATIN SMALL БУКВА С БРИВОМ И ОСТРОЙ)
"\u0103\u0301" (U+0103 ЛАТИНСКАЯ БУКВА A С BREVE + U+0301 ОБЪЕДИНЕНИЕ ОСТРЫХ АКЦЕНТОВ)
"\u0061\u0306\u0301" (U+0061 LATIN SMALL LETTER A + U+0306 ОБЪЕДИНЕНИЕ BREVE + U+0301 ОБЪЕДИНЕНИЕ ОСТРОГО АКЦЕНТА)
Однако порядковый номер, то есть двоичные, сравнения считают эти последовательности разными, так как они содержат разные значения кода Юникода. Перед выполнением порядковых сравнений приложения должны нормализовать эти строки, чтобы разложить их на основные компоненты.
Каждый составной символ Юникод сопоставляется с более базовой последовательностью одного или нескольких символов. Процесс декомпозиции заменяет составные символы в строке более простыми сопоставлениями. Полная декомпозиция рекурсивно выполняет эту замену, пока ни один из символов в строке не может быть разложен дальше.
Юникод определяет два типа декомпозиций: совместимость декомпозиции и канонического декомпозиции. При декомпозиции совместимости сведения о форматировании могут быть потеряны. В каноническом декомпозиции, которая представляет собой подмножество декомпозиции совместимости, сохраняется информация о форматировании.
Два набора символов считаются каноническими эквивалентными, если их полные канонические декомпозиции идентичны. Аналогичным образом, два набора символов считаются эквивалентными совместимости, если их полная декомпозиция совместимости идентичны.
Дополнительные сведения о нормализации, декомпозиции и эквивалентности см. в приложении Юникода "Стандартный" #15: Формы нормализации Юникода в unicode.org.