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
屬性

欄位

FormC 1

表示 Unicode 字串已使用完整標準分解進行標準化,並接著以序列的主要複合取代該序列 (若可能的話)。

FormD 2

表示 Unicode 字串已使用完整標準分解進行標準化。

FormKC 5

表示 Unicode 字串已使用完整相容性分解進行標準化,並接著以序列的主要複合取代該序列 (若可能的話)。

FormKD 6

表示 Unicode 字串已使用完整相容性分解進行標準化。

備註

某些 Unicode 序列被視為相等,因為它們代表相同的字元。 例如,下列專案被視為相等,因為其中任何一個都可以用來表示 「ắ」 :

  • 「\u1EAF」 (U+1EAF 拉丁小字母 A 搭配 BREVE 和尖峰)

  • 「\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.org 的 Unicode 正規化表單

適用於

另請參閱