Tietew です。

メールの Subject: を euc-jp 変換する (MIME decoding) のに 
NKF::nkf('-e', subject) を使ったところ,

「=?ISO-2022-JP?B?GyRCRnxLXDhsGyhC?= english」が「日本語english」
とスペースが抜けてしまいました。
これでは格好悪いので考えた末

def mime_dec(str)
  return nil unless str
  str = str.tr("\0\1", "")
  str.gsub!(/(\s*)\n/) { $1.empty? ? ' ' : $1 }
  str = NKF::nkf('-em0', str)
  str.gsub!(/=\?[\w\d\-]+\?[BQbq]\?.*?\?=/) { "\0" + NKF::nkf('-e', $&) + "\1" }
  str.gsub!(/\001\s*\000/, "")
  str.tr!("\0\1", "")
  str
end

なんてコードを書いたのですが,もっとエレガントな方法は無いもので
しょうか(^^;

ちなみに,nkf 1.71 でも 1.92 でも同じ挙動を示すみたいです。


―[ Tietew ]――――――――――――――――――――――――――
 メ : tietew / tietew.net / tietew / raug.net / tietew / masuclub.net
ホペ: http://www.tietew.net/     Tietew Windows Lab.
      http://www.masuclub.net/   鱒倶楽部
指紋: 26CB 71BB B595 09C4 0153  81C4 773C 963A D51B 8CAA