英語で読む

次の方法で共有


NormalizationForm 列挙型

定義

実行する正規化の種類を定義します。

C#
public enum NormalizationForm
C#
[System.Runtime.InteropServices.ComVisible(true)]
public enum NormalizationForm
継承
NormalizationForm
属性

フィールド

名前 説明
FormC 1

完全標準分解を使用して Unicode 文字列を正規化した後、可能な場合は、シーケンスを主要な複合文字で置換することを示します。

FormD 2

完全標準分解を使用して Unicode 文字列を正規化したことを示します。

FormKC 5

完全互換性分解を使用して Unicode 文字列を正規化した後、可能な場合は、シーケンスを主要な複合文字で置換することを示します。

FormKD 6

完全互換性分解を使用して Unicode 文字列を正規化したことを示します。

注釈

一部の Unicode シーケンスは、同じ文字を表しているため、同等と見なされます。 たとえば、"ắ" を表すためにこれらのいずれかを使用できるため、次は同等と見なされます。

  • "\u1EAF" (U+1EAF ラテン小文字 A と BREVE AND ACUTE)

  • "\u0103\u0301" (U+0103 ラテン小文字 A と BREVE + U+0301 を組み合わせた鋭いアクセント)

  • "\u0061\u0306\u0301" (U+0061 ラテン小文字 A + U+0306 組み合わせ BREVE + U+0301 急性アクセントの組み合わせ)

ただし、序数、つまりバイナリ比較では、これらのシーケンスには異なる Unicode コード値が含まれているため、これらのシーケンスは異なると見なされます。 序数比較を実行する前に、アプリケーションはこれらの文字列を正規化して、それらを基本コンポーネントに分解する必要があります。

各複合 Unicode 文字は、1 つ以上の文字のより基本的なシーケンスにマップされます。 分解のプロセスは、文字列内の複合文字をより基本的なマッピングに置き換えます。 完全分解では、文字列内の文字をこれ以上分解できないまで、この置換が再帰的に実行されます。

Unicode では、互換性分解と正規分解の 2 種類の分解が定義されています。 互換性の分解では、書式設定情報が失われる可能性があります。 互換性分解のサブセットである正規分解では、書式設定情報が保持されます。

完全正規分解が同一である場合、2 組の文字は正規等価であると見なされます。 同様に、完全な互換性分解が同一である場合、2 つの文字セットは互換性の等価性を持つと見なされます。

正規化、分解、等価性の詳細については、「 Unicode Standard Annex #15: Unicode Normalization Forms at unicode.org」を参照してください。

適用対象

製品 バージョン
.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

こちらもご覧ください