有没有办法在Ruby中解码q编码的字符串?
发布时间:2020-12-17 03:58:06 所属栏目:百科 来源:网络整理
导读:我正在使用邮件,名称和主题有时会进行q编码,如下所示: =?UTF-8?Q?J=2E_Pablo_Fern=C3=A1ndez?= 有没有办法在Ruby中解码它们?似乎TMail应该照顾它,但它没有这样做. 解决方法 我用它来解析电子邮件主题: 您可以尝试以下方法: str = "=?UTF-8?Q?J=2E_Pablo_
我正在使用邮件,名称和主题有时会进行q编码,如下所示:
=?UTF-8?Q?J=2E_Pablo_Fern=C3=A1ndez?= 有没有办法在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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |