閱讀英文

共用方式為


NormalizationForm 列舉

定義

定義要執行的正規化類型。

public enum NormalizationForm
[System.Runtime.InteropServices.ComVisible(true)]
public enum NormalizationForm
繼承
NormalizationForm
屬性

欄位

名稱 Description
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 正規化表單

適用於

產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

另請參閱