解碼還原 Quoted-Printable

適用範圍: 觀念問題,通用

提醒:

這篇是指導大家在沒有特別的軟體之下,以土法煉鋼的方式,自己解碼閱讀以 Quoted Printable 編碼方式的郵件,只要你有 Outlook Express 這類具有 Quoted Printable 編碼能力的郵件軟體就可以了。

只要你對 email 的結構有所了解的話,我想你要還原這類信件並不難。為了偷懶,你可以參考:046-解碼還原 Base 64

步驟一

把亂碼信中的
This is a multi-part message in MIME format.
這一行之下(含)一直到結尾
------=_NextPart_000_004C_01BEB8FD.E0C9A2A0--
這一大段的資料全部複製到記事本上,以便組合。其中_NextPart....這一段是亂數,上面的數值只是舉例,你的情況不見得會跟上面的「數值」一樣。

步驟二

發一封空白的 HTML以 Quoted Printable 編碼的信件給你自己,然後,檔案>>內容>>詳細資料>>郵件原始檔按滑鼠右鍵>>全選,複製到記事本(另開一個新的)然後你把

This is a multi-part message in MIME format.
一直到結尾
------=_NextPart_000_00AA_01BEB980.49489AC0--
這一大段的內容,全部替換成步驟一中的內容。

步驟三

現在只差一步就可以大公告成,因為我們是利用空白信自己「合成」的,所以編碼 ID 會與原信件不一樣

所以,找到email檔頭中的這一段

Content-Type: multipart/alternative;
boundary="----=_NextPart_000_0082_01BEB97E.BC55A5A0"

boundary="----=_NextPart_000_0082_01BEB97E.BC55A5A0"
改成原來的就可以了。

那我又怎麼知道原來的編碼是多少?很簡單,都在原先的亂碼信裡,你一定會看到元戀碼信有這一行:

_NextPart_000_00AA_01BEB980.49489AC0
把這段數值代換進去就可以了。(這只是舉例,你的數值會與這不一樣,看看你的原始亂碼信,一定會有類似的一行。)

接下來,把記事本存檔,你要存為 .eml或是 .nws 都可以,存好之後,用滑鼠點兩下,就可以打開。

嗯....有看沒有懂?

不要緊,亂碼的問題99%都是寄信人的問題,這種痛苦的後果不應該由你收信的一方來承擔,最簡單的解決方式,就是要對方重寄一次就好了,並提醒他會有亂碼出現,請他注意一下他的郵件傳送方面的設定。

補充:

在網路上,有些傳送資料的伺服器並沒有能力處理 8 位元資料(中文),所以會把第八個位元給濾掉,當你的信件經過這種伺服器,因為資料已經完全被破壞掉了,第八位元被濾掉所造成的亂碼郵件沒有還原的希望。

chengbin 發表在 痞客邦 PIXNET 留言(0) 人氣()