dak ブログ

python、rubyなどのプログラミング、MySQL、サーバーの設定などの備忘録。レゴの写真も。

EUC文字列のチェック

2007-03-31 13:31:42 | ruby
テキストをDBに登録する際に、EUCとUTF-8のテキストを混在させてしまいました。 EUCではない文字列を判定するのにrubyで以下のようにチェックしました。

str =~ /^(?:[x20-x7E]|[xA1-xFE][xA1-xFE])*$/ ? true : false


1バイト目 2バイト目 3バイト目
ASCII 0x20-0x7E
漢字 0xA1-0xFE 0xA1-0xFE
半角カナ 0x8E 0xA1-0xDF
補助漢字 0x8F 0xA1-0xFE 0xA1-0xFE