Mail 主旨有兩行造成解碼問題 |
答題得分者是:sryang
|
schang
一般會員 發表:7 回覆:6 積分:2 註冊:2018-09-05 發送簡訊給我 |
大家好,最近在做收信的程式,
覺得解碼真的是一個大挑戰。 當我在收信時出現錯誤「Uneven size in DecodeToStream.」, 於是我去查看信件的原始碼, 一般來講主旨只有一行, 但這封信的有兩行,展示如下 (因隱私問題故將原始內容英文字母的地方用AAA代替,Unicode的部分都以X代替) Subject: AAA =?UTF-8?B?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX?= _=?UTF-8?B?XXXX?= (黃色的是一個空格) 一模一樣的信件我用Big5寄,主旨只有一行,這是沒問題的 Subject: AAA =?Big5?B?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX?= 由於解碼是要解「=?UTF-8?B?」之後的東西, 但他長這樣我不知道要怎麼解,請大家幫幫忙。 |
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
=?UTF-8?B?xxxxxxxxx內容xxxxxxxx?=
用 ? 分隔之後,第一項是 UTF-8,表示原始內容是 UTF-8 編碼 第二項是 B,表示是 Base64 編碼 所以就是把第三個 ? 到最後的 ?= 之間的內容解 Base64 就能得到 UTF-8 的內容 詳情請參考這裡 https://dmorgan.info/posts/encoded-word-syntax/
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/ |
schang
一般會員 發表:7 回覆:6 積分:2 註冊:2018-09-05 發送簡訊給我 |
謝謝您的回覆,我最終是用最笨的方式。
因為前面的AAA不需解碼, 所以我先將字串的「換行符號」取代掉,成為一行, 再以AAA切割成兩個字串, 再將第二個字串中的「=?UTF-8?B?」和「?=」取代掉,再解碼, 最後再組合起來這樣就可以了。 ===================引 用 sryang 文 章=================== =?UTF-8?B?xxxxxxxxx內容xxxxxxxx?= 用 ? 分隔之後,第一項是 UTF-8,表示原始內容是 UTF-8 編碼 第二項是 B,表示是 Base64 編碼 所以就是把第三個 ? 到最後的 ?= 之間的內容解 Base64 就能得到 UTF-8 的內容 詳情請參考這裡 https://dmorgan.info/posts/encoded-word-syntax/ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |