java.lang.Object
java.text.Normalizer
public final class Normalizer extends Object
このクラスは、テキストのソートや検索が容易になるようにUnicodeテキストをそれと等価な合成形式または分解形式に変換する、
normalizeメソッドを提供します。 normalizeメソッドは、「Unicode Standard Annex#15-Unicode Normalization Forms」に記述されている標準の正規化形式をサポートしています。 
 Unicodeでは、アクセントなどの修飾の付いた文字をいくつかの方法で符号化できます。 文字A-acuteを例にとります。 これは、Unicodeでは単一の文字(合成形式)として符号化できます。
      U+00C1    LATIN CAPITAL LETTER A WITH ACUTE
 または、2つの独立した文字(分解形式)として符号化できます。
 
      U+0041    LATIN CAPITAL LETTER A
      U+0301    COMBINING ACUTE ACCENT
 ただし、プログラムのユーザーにとっては、どちらのシーケンスも、ユーザー・レベルでは同じ文字「acuteアクセント付きのA」として扱われるべきです。 テキストの検索や比較を行うときに、これら2つのシーケンスが等価に扱われることを確認する必要があります。 また、複数のアクセントを持つ文字も処理する必要があります。 文字の結合アクセントの順序が重要になる場合もあれば、アクセントの順序が異なっても実際には等価になる場合もあります。 
 同様に、文字列「ffi」は、3つの独立した文字として符号化できます。
      U+0066    LATIN SMALL LETTER F
      U+0066    LATIN SMALL LETTER F
      U+0069    LATIN SMALL LETTER I
 または、単一の文字として符号化できます。
 
      U+FB03    LATIN SMALL LIGATURE FFI
 合字ffiは、区別可能な意味上の文字ではなく、厳密にはUnicodeに含まれるべきではありません。ただし、既存の文字セットですでに提供されているため、その互換性のために含まれています。 Unicode標準では、このような文字を、それに対応する意味上の文字に「互換」分解することによって識別します。 検索や比較を行うとき、これらのマッピングを使用する必要がしばしば発生するでしょう。 
 
 上記の最初の例で示したように、normalizeメソッドでテキストを正規合成形式または正規分解形式に変換すると、このような問題を解決するのに役立ちます。 また、このメソッドで互換分解を実行して、互換文字をその等価な文字と同じものとして扱うこともできます。 さらに、normalizeメソッドはアクセントを適切な正規の順序に並べ替えるので、ユーザーがアクセントの並べ替えについて心配する必要はありません。 
 
W3Cでは、NFCでテキストを交換するよう一般に推奨しています。 また、従来の文字エンコーディングのほとんどは事前合成形式だけを使用し、それ自体では連結マークの符号化を行わない場合がよくあります。 このような文字エンコーディングへの変換を行うには、UnicodeテキストをNFCに正規化する必要があります。 使用例については、「Unicode Standard Annex」を参照してください。
- 導入されたバージョン:
- 1.6
- 
ネストされたクラスのサマリーネストされたクラス修飾子と型クラス説明static enumこの列挙は、「Unicode Standard Annex#15-Unicode Normalization Forms」に記述されている4つのUnicode正規化形式の定数と、それらにアクセスするための2つのメソッドを提供します。
- 
メソッドのサマリー修飾子と型メソッド説明static booleanisNormalized(CharSequence src, Normalizer.Form form) 指定されたchar値のシーケンスが正規化されているかどうかを判定します。static Stringnormalize(CharSequence src, Normalizer.Form form) char値のシーケンスを正規化します。
- 
メソッドの詳細- 
normalizepublic static String normalize(CharSequence src, Normalizer.Form form) char値のシーケンスを正規化します。 順序は、指定された正規化形式に従って正規化されます。- パラメータ:
- src- 正規化するchar値のシーケンス。
- form- 次のいずれかの正規化形式。- Normalizer.Form.NFC、- Normalizer.Form.NFD、- Normalizer.Form.NFKC、- Normalizer.Form.NFKD
- 戻り値:
- 正規化された文字列
- 例外:
- NullPointerException-- srcまたは- formがnullの場合
 
- 
isNormalizedpublic static boolean isNormalized(CharSequence src, Normalizer.Form form) 指定されたchar値のシーケンスが正規化されているかどうかを判定します。- パラメータ:
- src- チェック対象のchar値のシーケンス。
- form- 次のいずれかの正規化形式。- Normalizer.Form.NFC、- Normalizer.Form.NFD、- Normalizer.Form.NFKC、- Normalizer.Form.NFKD
- 戻り値:
- char値のシーケンスが正規化されている場合はtrue、そうでない場合はfalse。
- 例外:
- NullPointerException-- srcまたは- formがnullの場合
 
 
-