在 Ruby 中使用 base64 进行邮件解码
mail decode using base64 in Ruby
我正在尝试实现解码邮件
--001a11419e22edc789053c4ccb1b
内容类型:text/plain;字符集=UTF-8
这是众所周知的
--001a11419e22edc789053c4ccb1b
内容类型:text/html;字符集=UTF-8
这是众所周知的
--001a11419e22edc789053c4ccb1b--
如何解码 UTF-8 中的 html 甲酸盐
我也在尝试解码
require 'base64'
def decode(x)
y = Base64.decode64(x)
d = y.force_encoding('UTF-8')
return d
但错误是
UTF-8 中的无效字节序列
当我只使用 Base64.decode64(x)
然后它显示输出..
������uӟ6۽ٽ9��x�= ��z{Sʗ��{��V����Z��ǭQ1|~��j
背后的原因是什么?
您无法仅使用 Base64.decode64
解析电子邮件。某些电子邮件中只有一小部分是 base64 编码的。您必须提取这些部分,然后您可以使用 Base64.decode64
解码提取的部分。
如果您想解析一封电子邮件,您可以这样做 "by hand" 或使用现有的 gem 之类的 https://github.com/mikel/mail
我正在尝试实现解码邮件
--001a11419e22edc789053c4ccb1b 内容类型:text/plain;字符集=UTF-8 这是众所周知的 --001a11419e22edc789053c4ccb1b 内容类型:text/html;字符集=UTF-8
这是众所周知的--001a11419e22edc789053c4ccb1b--
如何解码 UTF-8 中的 html 甲酸盐 我也在尝试解码
require 'base64'
def decode(x)
y = Base64.decode64(x)
d = y.force_encoding('UTF-8')
return d
但错误是 UTF-8 中的无效字节序列 当我只使用 Base64.decode64(x) 然后它显示输出.. ������uӟ6۽ٽ9��x�= ��z{Sʗ��{��V����Z��ǭQ1|~��j 背后的原因是什么?
您无法仅使用 Base64.decode64
解析电子邮件。某些电子邮件中只有一小部分是 base64 编码的。您必须提取这些部分,然后您可以使用 Base64.decode64
解码提取的部分。
如果您想解析一封电子邮件,您可以这样做 "by hand" 或使用现有的 gem 之类的 https://github.com/mikel/mail