Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Stringクラス > unicode_normalize
unicode_normalize(form = :nfc) -> String
[permalink][rdoc]self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode 正規化し た文字列を返します。
このメソッドでの "Unicode 文字列" とは、UTF-8、UTF-16BE/LE、 UTF-32BE/LE だけではなく GB18030、UCS_2BE、and UCS_4BE を含みます。
また、self が UTF-8 以外のエンコーディングであった場合は一度 UTF-8 に変 換してから正規化されるため、UTF-8 よりも遅くなっています。
"a\u0300".unicode_normalize # => 'à' ("\u00E0" と同じ)
"a\u0300".unicode_normalize(:nfc) # => 'à' ("\u00E0" と同じ)
"\u00E0".unicode_normalize(:nfd) # => 'à' ("a\u0300" と同じ)
"\xE0".force_encoding('ISO-8859-1').unicode_normalize(:nfd)
# => Encoding::CompatibilityError raised
[SEE_ALSO] String#unicode_normalize!, String#unicode_normalized?