URLエンコードされたファイル名をUTF-8にデコードし、リネームする

fswikiに書き込んだ内容はURLエンコードされたファイル名をつけて保存されている。これをMacにダウンロードし、エンコードされていないファイル名に変更しようとrubyを使って試みている。

EUC-JPのコードにはすぐ変換できるのだが、UTF-8のコードに変換されない。

#!/usr/bin/ruby

require 'uri'
require 'iconv'

$KCODE = 'EUC'

dir = Dir.open("./")
while name = dir.read
  str =  URI.unescape(name)
  str_utf8 = Iconv.conv('utf-8','euc-jp', str)
  p str_utf8
end
dir.close

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください