首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当涉及到电子邮件解析时,UTF-7有多重要?

当涉及到电子邮件解析时,UTF-7有多重要?
EN

Software Engineering用户
提问于 2012-09-06 16:25:08
回答 2查看 1.7K关注 0票数 8

我最近为一个应用程序实现了收到的电子邮件,男孩,我打开地狱之门了吗?从那以后,每隔一天都会收到一封电子邮件,让应用程序以不同的方式失败。

其中之一是电子邮件编码为UTF-7。大多数电子邮件都是ASCII,一些拉丁文编码,或谢天谢地,UTF-8。

Hotmail错误消息(如电子邮件地址不存在或配额超过)似乎以UTF-7的形式出现。不幸的是,UTF-7不是Ruby理解的编码:

代码语言:javascript
复制
> "hello world".encode("utf-8", "utf-7")
Encoding::ConverterNotFoundError: code converter not found (UTF-7 to UTF-8)

> Encoding::UTF_7
 => #<Encoding:UTF-7 (dummy)> 

我的应用程序没有崩溃,它实际上处理电子邮件相当好,但它确实向我发送了一个关于潜在错误的通知。

我花了一些时间在googling上搜索,找不到实现转换的人,至少不是作为Ruby1.9.3编码::转换器。

所以,我的问题是,因为我从来没有收到过一封有实际内容的电子邮件,来自一个实际的人,在UTF-7中,这种编码有多大的相关性?我能安全地忽略它吗?

EN

回答 2

Software Engineering用户

发布于 2012-09-06 17:09:12

UTF-7的唯一相关特性(例如UTF-8 )是7位编码,就像好的旧ASCII一样。这意味着它可以在一个不是8个位清洁的系统上工作。

今天这一点甚至重要的唯一大型系统是邮件服务器(不要问我为什么他们在10-20年前没有解决这个问题,大多数服务器是这样做的,但表面上仍然没有)。

因此: UTF-7只在电子邮件系统中有关联。在其他任何地方,UTF-8是更好的选择。

票数 9
EN

Software Engineering用户

发布于 2012-09-06 17:36:12

感谢Charles Salvia的评论,我在IMAP模块中找到了一种帮助您的方法:

代码语言:javascript
复制
require "net/imap"
Net::IMAP.decode_utf7(mail_body)
票数 7
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/163930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档