【问题标题】:How to convert javax.mail.BodyPart content to UTF-8 clean text?如何将 javax.mail.BodyPart 内容转换为 UTF-8 纯文本?
【发布时间】:2012-02-08 20:22:35
【问题描述】:

这就是我通过javax.mail.BodyPart.writeTo(..) 得到的:

Content-Type: text/plain; charset=windows-1252 
Content-Transfer-Encoding: quoted-printable  

some text *again*  

=97 
Bobby   

On Wed, Feb 8, 2012 at 11:51 AM, Alex Johnson <alex@example.com> wrot= 
e:  

> let's try again 
> and again

我想清理此文本并将其转换为 UTF-8,以便准确接收:

some text *again*

--
Bobby

我确定我不是第一个面临这个问题/任务的人。您知道任何可以提供帮助的 Java 库吗?

【问题讨论】:

标签: java email jakarta-mail html-email


【解决方案1】:

删除包含的消息只是一个字符串操作问题,我相信您可以使用正则表达式或其他方式自行解决。

您可以访问正文部分的内容,无需标题,也可以使用字符集 只需调用 getContent 方法即可为您处理编码。

这就是你要找的吗?

【讨论】:

  • 嗯,我担心的是“自己解决”部分。我仍然希望为此目的找到一些图书馆...
  • 一般来说,这个问题可能非常困难,因为对于新消息文本中包含的消息的格式没有标准。通常,但不总是,包含的消息文本的每一行前面都会有“>”。通常,但并非总是如此,包含的消息将以您的示例中的独特行开头。但是不同的邮件程序会以不同的方式格式化该行。
  • (继续)最后,您将不得不弄清楚您的解决方案需要“完美”到什么程度,并提出一些对您关心的案例足够好的启发式方法。同样,java.util.regex 可能会有所帮助。您可能会发现一次读取一行文本更容易(使用 StringReader)并将每一行与一个模式匹配,复制您想要保留的行并丢弃其他行。
猜你喜欢
  • 1970-01-01
  • 2014-02-02
  • 2012-10-14
  • 1970-01-01
  • 2018-02-06
  • 2015-04-13
  • 2011-09-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多