NormalizationForm 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
定義要執行的正規化類型。
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
- 繼承
- 屬性
欄位
| 名稱 | 值 | Description |
|---|---|---|
| FormC | 1 | 表示 Unicode 字串會以完整的典範分解正規化,然後盡可能以主要合成替換序列。 |
| FormD | 2 | 表示 Unicode 字串會以完整的典範分解進行正規化。 |
| FormKC | 5 | 表示 Unicode 字串會以完全相容性分解正規化,然後盡可能以主要合成替換序列。 |
| FormKD | 6 | 表示 Unicode 字串是透過完全相容性分解進行正規化的。 |
備註
有些 Unicode 序列被視為等價,因為它們代表相同的字元。 例如,以下數值被視為等價,因為這些詞中任一可用來表示「ắ」:
「\u1EAF」(U+1EAF 拉丁字母小寫字母 A,帶有 BREVE 和 ACCUTE)
「\u0103\u0301」(U+0103 拉丁小寫字母 A 搭配 BREVE + U+0301 結合尖銳重音)
「\u0061\u0306\u0301」(U+0061 拉丁小寫字母 A + U+0306 結合 BREVE + U+0301 結合尖音)
然而,序數(即二元)比較會認為這些序列不同,因為它們包含不同的 Unicode 碼值。 在進行序數比較前,應用程式必須將這些字串正規化,將其分解為基本組成部分。
每個合成 Unicode 字元會映射到一個或多個較基本的字元序列。 分解過程會將字串中的複合字元替換為更基本的映射。 完整分解會遞迴地執行此替換,直到字串中的任何字元無法再分解為止。
Unicode 定義了兩種分解類型:相容性分解與典範分解。 在相容性分解中,格式資訊可能會遺失。 在典範分解中,這是相容性分解的子集,格式資訊會被保留。
若兩組字元的完整典範分解相同,則該集合被視為具有典範等價。 同樣地,若兩組字元的完整相容分解相同,則視為相容性等價。
欲了解更多關於正規化、分解與等價的資訊,請參閱 Unicode 標準附錄 #15:Unicode 正規化形式 於 unicode.org。