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
繼承
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。

適用於

另請參閱