ツイート
2012.10.07
Perlで文字列の文字コードを判別し、断定出来ない場合は諦める方法
Tips for judging character code in Perl
use Encode::Guess qw/sjis euc-jp/;
my $enc = guess_encoding($判別するテキスト);
if (ref(\$enc) eq 'SCALAR'){諦める場合}
else{1つに絞れた場合
my $euc2=Encode::Guess->guess($判別するテキスト)->name;
if ($enc2 eq 'utf8'){・・・・・};
if ($enc2 eq 'euc-jp'){・・・・・};
}
・guess_encodingは失敗した場合はスカラーで「utf or shift-jis」とか「no appropriate encode」とか返すが、成功した場合に何返しているか分からない。
・guessは結果を事前にリストした文字列で返してくれるが判別に失敗するとdieする。
なので仕方なく2回判別しています。動けばいいです。
Category:Perl・Javascript・python、サーバー管理メモ
コメント
この記事のアクセス数:→カテゴリー:Perl・Javascript・python、サーバー管理メモ(記事数:83)
アクセス数の多い記事(過去1ヶ月)