如何在Ruby中解码RFC 2047编码的电子邮件头?
我有以下标题:
From: =?iso-8859-1?Q?Marta_Falc=E3o?=
我可以轻松地将这些东西拆分出来,然后离开我
"=?iso-8859-1?Q?Marta_Falc=E3o?="
我可以用什么把它变成"Marta Falcão"
?
使用较新的Mail gem:
Mail::Encodings.value_decode(str)
或Mail::Encodings.unquote_and_convert_to(str, to_encoding)
感谢Roland Illig的评论,这让我有两个选择:
- 安装rfc2047-ruby并调用
Rfc2047.decode(header)
- 安装TMail并调用
TMail::Unquoter.unquote_and_convert_to(header, 'utf-8')
或更好的TMail::Address.parse(header).friendly
,后者删除
部分