如何解码UTF8中通过Net :: IMAP获取的主题? (红宝石)

时间:2013-03-18 00:11:49

标签: ruby utf-8 jruby imap

我正在使用Net :: IMAP.fetch从Gmail获取一些邮件。但是,当我获取具有UTF8主题的消息(即用西里尔语)时,我得到这样的内容:

=?UTF-8?B?0KHRgNC/0YHQutC4INGE0L7RgNGD0Lwg0YLRgNCw?= =?UTF-8?B?0LbQuCDQuNC30LHQvtGA0L3QuCDQvNCw0YLQtdGA0Lg=?= =?UTF-8?B?0ZjQsNC7INC4INC90LAg0ZvQuNGA0LjQu9C40YY=?= =?UTF-8?B?0LggLSBjaXJpbGFjZSB0ZXN0?=

如何将上述字符串转换为UTF8?

注意:这适用于ruby 1.8.7

1 个答案:

答案 0 :(得分:3)

答案是:

Mail::Encodings.unquote_and_convert_to( string, 'utf-8' )

重点是电子邮件主题的编码是“QuotsED-PRINTABLE”编码(默认情况下为Gmail)。