次の方法で共有


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 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」を参照してください。

適用対象

こちらもご覧ください