NormalizationForm Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Definuje typ normalizace, který se má provést.
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
- Dědičnost
- Atributy
Pole
| Name | Hodnota | Description |
|---|---|---|
| FormC | 1 | Označuje, že řetězec Unicode je normalizován pomocí úplného kanonického rozkladu, za kterým následuje nahrazení sekvencí s jejich primárními složenými, pokud je to možné. |
| FormD | 2 | Označuje, že řetězec Unicode je normalizován pomocí úplného kanonického rozkladu. |
| FormKC | 5 | Označuje, že řetězec Unicode je normalizován pomocí úplného rozkladu kompatibility, následované nahrazením sekvencí s jejich primárními složenými, pokud je to možné. |
| FormKD | 6 | Označuje, že řetězec Unicode je normalizován pomocí úplného rozkladu kompatibility. |
Poznámky
Některé sekvence Unicode jsou považovány za ekvivalentní, protože představují stejný znak. Například následující se považují za ekvivalentní, protože některý z nich lze použít k reprezentaci "ắ":
"\u1EAF" (MALÉ PÍSMENO LATINKY U+1EAF A S BREVE A AKUTNÍ)
"\u0103\u0301" (U+0103 MALÉ PÍSMENO LATINKY A S BREVE + U +0301 KOMBINOVÁNÍM AKUTNÍ ZVÝRAZNĚNÍ)
"\u0061\u0306\u0301" (U+0061 MALÉ PÍSMENO LATINKY A + U + 0306 KOMBINACE BREVE + U + 0301 KOMBINACE AKUTNÍ ZVÝRAZNĚNÍ)
Řadové porovnání, to znamená binární, ale považují tyto sekvence za odlišné, protože obsahují různé hodnoty kódu Unicode. Před provedením řadových porovnání musí aplikace tyto řetězce normalizovat, aby je rozložily do základních komponent.
Každý složený znak Unicode se mapuje na nejzásadnější sekvenci jednoho nebo více znaků. Proces rozkladu nahrazuje složené znaky v řetězci jejich základní mapování. Úplné rozkladové rekurzivní provede toto nahrazení, dokud nebude možné žádné znaky v řetězci dále rozložit.
Unicode definuje dva typy rozkladů: rozklad kompatibility a kanonický rozklad. Při rozkladu kompatibility může dojít ke ztrátě informací o formátování. V kanonickém rozkladu, což je podmnožina rozkladu kompatibility, se informace o formátování zachovají.
Dvě sady znaků jsou považovány za kanonické ekvivalence, pokud jsou jejich úplné kanonické rozklady stejné. Stejně tak jsou dvě sady znaků považovány za ekvivalence kompatibility, pokud jsou jejich úplné rozklady kompatibility stejné.
Další informace o normalizaci, rozkladech a ekvivalenci naleznete v článku Standardní příloha Unicode č. 15: Normalizační formuláře unicode na unicode.org.