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

Rob*_*zan 5 ruby imap jruby utf-8

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

=?UTF-8?B?0KHRgNC/0YHQutC4INGE0L7RgNGD0Lwg0YLRgNCw?= =?UTF-8?B?0LbQuCDQuNC30LHQvtGA0L3QuCDQvNCw0YLQtdGA0Lg=?= =?UTF-8?B?0ZjQsNC7INC4INC90LAg0ZvQuNGA0LjQu9C40YY=?= =?UTF-8?B?0LggLSBjaXJpbGFjZSB0ZXN0?=
Run Code Online (Sandbox Code Playgroud)

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

注意:这适用于ruby 1.8.7

Rob*_*zan 5

答案是:

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

关键是电子邮件主题的编码是“QUOTED-PRINTABLE”编码(默认用于 Gmail)。