nkfライブラリによる文字コードの推測
Rubyで日本語の文字列の文字コードを推測するには、nkfライブラリを使うと良い。
nkfライブラリで文字コードを推測するには以下のようにする。
require 'nkf' NKF.guess("にほんご")
NKF.guess
の返却値はRubyのバージョンにより異なる。
Ruby 1.8では、NKF::UTF8
のようなエンコードを表す定数を返す。
Ruby 1.9では、Encoding
オブジェクトを返す。
Ruby 1.8では、文字コードの名前を取得する方法はない。定数から自分で変換してやる必要がある。
Ruby 1.9では、文字コードの名前を取得するのに、Encoding#name
が利用できる。
require 'nkf' encode = NKF.guess("にほんご") encode.name #=> "UTF-8"