2012-02-08 29 views
0

這就是我與javax.mail.BodyPart.writeTo(..)越來越:如何javax.mail.BodyPart內容爲UTF-8乾淨的文本轉換?

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 <[email protected]> wrot= 
e: 

> let's try again 
> and again 

我要清理這個文本,並將其轉換爲UTF-8,以便接收正是這一點:

some text *again* 

-- 
Bobby 

我當然,我不是第一個面臨這個問題/任務的人。你知道任何可以提供幫助的Java庫嗎?

+0

谷歌甚至給他們的算法檢測引用文本的電子郵件的專利:http://www.google.com/patents/US7222299 – yegor256 2012-02-08 21:41:10

+0

相似的問題:http://stackoverflow.com/questions/278788 – yegor256 2012-02-08 21:43:39

回答

1

刪除包含消息只是一個字符串操作的問題,我敢肯定,你可以使用正則表達式或任何明白這一點你自己。

只需調用getContent方法,就可以訪問正文部分的內容,不需要頭文件,並可以爲您處理的字符集編碼 編碼。

這就是你想要的?

+0

那麼,「fiture那是你自己「的一部分是我所擔心的。我仍然希望爲此目的找到一些圖書館...... – yegor256 2012-02-08 21:32:09

+0

一般來說,這個問題可能非常困難,因爲沒有關於如何在新消息的文本中格式化包含消息的標準。通常,但不總是,包含的消息的文本的每一行將由前面有「>」。通常情況下,但並非總是如此,所包含的信息將帶有鮮明的線在你的例子開始。但不同的郵件程序會以不同的方式格式化該行 – 2012-02-08 22:34:46

+0

(繼續)最後,你將不得不弄清楚你的解決方案需要多「完美」,並提出一些適合你關心的案例的啓發式方法。同樣,java.util.regex可能會有所幫助。你可能會發現,一次讀取一行文本比較容易(使用StringReader)並將每行與模式匹配,複製要保留的行並丟棄其他行。 – 2012-02-08 22:35:40

相關問題