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 ЛАТИНСКАЯ БУКВА A С КРАТКОЙ И ОСТРОЙ)
"\u0103\u0301" (U+0103 ЛАТИНСКАЯ БУКВА A С BREVE + U+0301 СОЧЕТАНИЕ ОСТРОГО АКЦЕНТА)
"\u0061\u0306\u0301" (U+0061 ЛАТИНСКАЯ БУКВА A + U+0306 СОЧЕТАНИЕ BREVE + U+0301 COMBINING ACUTE ACCENT)
Однако порядковые, то есть двоичные, сравнения считают эти последовательности разными, так как они содержат разные значения кода Юникода. Перед выполнением порядковых сравнений приложения должны нормализовать эти строки, чтобы разложить их на базовые компоненты.
Каждый составной символ Юникода сопоставляется с более базовой последовательностью из одного или нескольких символов. Процесс декомпозиции заменяет составные символы в строке более базовыми сопоставлениями. Полная декомпозиция рекурсивно выполняет эту замену до тех пор, пока ни один из символов в строке не будет разложен далее.
Юникод определяет два типа декомпозиций: декомпозицию совместимости и каноническую декомпозицию. При декомпозиции совместимости сведения о форматировании могут быть потеряны. При канонической декомпозиции, которая является подмножеством декомпозиции совместимости, сведения о форматировании сохраняются.
Два набора символов считаются каноническими эквивалентными, если их полные канонические декомпозиции идентичны. Аналогичным образом, два набора символов считаются эквивалентными совместимости, если их полные декомпозиции совместимости идентичны.
Дополнительные сведения о нормализации, декомпозиции и эквивалентности см. в разделе Стандартное приложение Юникода No 15. Формы нормализации Юникода на unicode.org.