Quoted-PrintableのデコードをRubyで。

Perl編に対抗してこんなの書いてみました。Ruby1.8*で確認。

なお、一度EUCに変換する必要は本来ないと思う。

def qptoutf8(a)
  r = ''
  if a != nil && a != "" && a !~ /^(From|Date|Subject|X\-Mailer):/i
    b = a.unpack("M")
    (0..b.length-1).each {|c|
      if b[c] != nil && b[c] != ""
        r += Uconv::euctou8(b[c].kconv(Kconv::EUC))
      end
    }
  end
  if r == ''
    a
  else
    r.gsub! /</,'&lt;'
    r.gsub! />/,'&gt;'
    r
  end
end