NormalizationForm Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Definiuje typ normalizacji do wykonania.
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
- Dziedziczenie
- Atrybuty
Pola
Nazwa | Wartość | Opis |
---|---|---|
FormC | 1 | Wskazuje, że ciąg Unicode jest znormalizowany przy użyciu pełnej dekompozycji kanonicznej, a następnie zastąpienia sekwencji ich podstawowymi złożonymi, jeśli to możliwe. |
FormD | 2 | Wskazuje, że ciąg Unicode jest znormalizowany przy użyciu pełnej dekompozycji kanonicznej. |
FormKC | 5 | Wskazuje, że ciąg Unicode jest znormalizowany przy użyciu pełnej zgodności dekompozycji, a następnie zastąpienie sekwencji ich podstawowymi złożonymi, jeśli to możliwe. |
FormKD | 6 | Wskazuje, że ciąg Unicode jest znormalizowany przy użyciu pełnej zgodności dekompozycji. |
Uwagi
Niektóre sekwencje Unicode są uważane za równoważne, ponieważ reprezentują ten sam znak. Na przykład następujące elementy są uważane za równoważne, ponieważ można ich użyć do reprezentowania "ắ":
"\u1EAF" (U+1EAF MAŁA LITERA A Z BREVE I OSTRY)
"\u0103\u0301" (U+0103 MAŁA LITERA A Z BREVE + U+0301 ŁĄCZĄCA OSTRY AKCENT)
"\u0061\u0306\u0301" (U+0061 MAŁA LITERA A + U+0306 ŁĄCZĄC BREVE + U+0301 ŁĄCZĄC AKCENT OSTRY)
Jednak porządkowe, czyli binarne, porównania uważają te sekwencje za różne, ponieważ zawierają różne wartości kodu Unicode. Przed wykonaniem porównań porządkowych aplikacje muszą znormalizować te ciągi, aby rozkładać je na podstawowe składniki.
Każdy złożony znak Unicode jest mapowany na bardziej podstawową sekwencję co najmniej jednego znaku. Proces dekompozycji zastępuje znaki złożone w ciągu bardziej podstawowymi mapowaniami. Pełna dekompozycja rekursywnie wykonuje to zastąpienie, dopóki żaden z znaków w ciągu nie będzie mógł zostać dodatkowo zdekomponowany.
Unicode definiuje dwa typy dekompozycji: rozkład zgodności i dekompozycję kanoniczną. W przypadku dekompozycji zgodności informacje o formatowaniu mogą zostać utracone. W kanonicznej dekompozycji, która jest podzbiorem dekompozycji zgodności, informacje o formatowaniu są zachowywane.
Uważa się, że dwa zestawy znaków mają równoważność kanoniczną, jeśli ich pełne dekompozycje kanoniczne są identyczne. Podobnie dwa zestawy znaków są uważane za równoważność zgodności, jeśli ich pełne dekompozycje zgodności są identyczne.
Aby uzyskać więcej informacji na temat normalizacji, dekompozycji i równoważności, zobacz Załącznik standardowy Unicode nr 15: Formularze normalizacji Unicode w unicode.org.