文字コードの推測

Kconv.guessNKF.guessメソッドを使います。

require 'kconv'

CODE_NAME = {
	Kconv::JIS => 'JIS',
	Kconv::EUC => 'EUC',
	Kconv::SJIS => 'SJIS',
	Kconv::BINARY => 'BINARY',
	Kconv::UNKNOWN => 'UNKNOWN',
	Kconv::ASCII => 'ASCII', # ruby 1.8.2 以降
	Kconv::UTF8 => 'UTF8', # ruby 1.8.2 以降
	Kconv::UTF16 => 'UTF16', # ruby 1.8.2 以降
}

str = '文字列テスト'
puts CODE_NAME[Kconv.guess(str)]
require 'nkf'

CODE_NAME = {
	NKF::JIS => 'JIS',
	NKF::EUC => 'EUC',
	NKF::SJIS => 'SJIS',
	NKF::BINARY => 'BINARY',
	NKF::UNKNOWN => 'UNKNOWN',
	NKF::ASCII => 'ASCII', # ruby 1.8.2 以降
	NKF::UTF8 => 'UTF8', # ruby 1.8.2 以降
	NKF::UTF16 => 'UTF16', # ruby 1.8.2 以降
}

str = 'テスト文字列'
puts CODE_NAME[NKF.guess(str)]

関連項目

なし