NormalizationForm 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
実行する正規化の種類を定義します。
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
- 継承
- 属性
フィールド
| 名前 | 値 | 説明 |
|---|---|---|
| FormC | 1 | Unicode 文字列が完全な正規分解を使用して正規化され、可能な場合はシーケンスがプライマリ 複合に置き換えられることを示します。 |
| FormD | 2 | Unicode 文字列が完全な正規分解を使用して正規化されることを示します。 |
| FormKC | 5 | 完全な互換性分解を使用して Unicode 文字列が正規化され、可能な場合はシーケンスがプライマリ 複合に置き換えられることを示します。 |
| FormKD | 6 | 完全な互換性分解を使用して Unicode 文字列が正規化されることを示します。 |
注釈
一部の Unicode シーケンスは、同じ文字を表しているため、同等と見なされます。 たとえば、次のいずれかが "ắ" を表すために使用できるため、同等と見なされます。
"\u1EAF" (U+1EAF ラテン小文字 A ブレブと急性)
"\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 標準付属文書 #15: unicode.org の Unicode 正規化フォーム 」を参照してください。