Ruby2.0のEUC-JP-20042013年03月30日 20:18

Ruby2.0.0P0がリリースされました。Encoding.listを見ると'EUC-JP-2004'が追加されていたので、早速試してみました。(テスト環境はWindows/Vista)

(テストプログラム)
out = File.open("C:/Temp/ruby_utf8.txt", "w:utf-8")
File.open("C:/Temp/jisx0213-2004-euc.txt", "r:EUC-JP-2004").each do |line|
  begin
    out.puts line
  rescue => ex
    print '変換エラー! '
    print ex.class, ' '
    print ex.message, "\n"
  end
end
out.close

(実行結果)
変換エラー! Encoding::UndefinedConversionError "\xA4\xF7" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xA4\xF8" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xA4\xF9" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xA4\xFA" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xA4\xFB" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xA5\xF7" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xA5\xF8" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xA5\xF9" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xA5\xFA" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xA5\xFB" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xA5\xFC" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xA5\xFD" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xA5\xFE" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xA6\xF8" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xAB\xC4" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xAB\xC8" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xAB\xC9" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xAB\xCA" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xAB\xCB" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xAB\xCC" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xAB\xCD" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xAB\xCE" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xAB\xCF" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xAB\xE5" from EUC-JP-2004 to UTF-8
変換エラー! Encoding::UndefinedConversionError "\xAB\xE6" from EUC-JP-2004 to UTF-8

JIS X 0213の文字のうち,Unicodeで表現する際に結合文字を使って二つの符号位置で表す必要のある25文字には対応していないことがわかりました。
Javaでは'x-SJIS_0213', Pythonでは'shift_jis_2004','euc_jis_2004'で完全に対応しているので個人的にはそれで間に合っているのですが、RubyでもPerlでも対応して欲しい。
神奈川県の発音は、「かなか゚わけん」です。
こんな文章データを普通に扱いたいだけなんですが・・・。