pup*_*eno 4 ruby email decoding
我正在使用邮件,名称和主题有时会进行q编码,如下所示:
=?UTF-8?Q?J=2E_Pablo_Fern=C3=A1ndez?=
Run Code Online (Sandbox Code Playgroud)
有没有办法在Ruby中解码它们?似乎TMail应该照顾它,但它没有这样做.
我用它来解析电子邮件主题:
您可以尝试以下方法:
str = "=?UTF-8?Q?J=2E_Pablo_Fern=C3=A1ndez?="
if m = /=\?([A-Za-z0-9\-]+)\?(B|Q)\?([!->@-~]+)\?=/i.match(str)
case m[2]
when "B" # Base64 encoded
decoded = Base64.decode64(m[3])
when "Q" # Q encoded
decoded = m[3].unpack("M").first.gsub('_',' ')
else
p "Could not find keyword!!!"
end
Iconv.conv('utf-8',m[1],decoded) # to convert to utf-8
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3891 次 |
| 最近记录: |