新聞速報

        

2014年2月26日 星期三

解碼base64 編碼和8bit MIME 編碼

出現在 eMail 的 Header 字串 
=?big5?B?wsWm4qRw50XC4Lj8pOWzuQ==?=
 
為 MIME格式,且經過 Base64 編碼
 
這個格式為內崁編碼: 
=?encode?c?string?= 
=? ?= 表示起訖
 
encode 為語系編碼 
c 為字串編碼方式,b 為 base64 、q 為 qp 
 
先依字串編碼轉為位元陣列,再依語系轉回來即可。 
 
全信編碼請參考 Header 裡面:
 
MIME-Version: 
Content-Type: 
Content-Transfer-Encoding: 
 
的設定,內崁編碼可與全信編碼不同。
 
另外在「=?big5?B?wsWm4qRw50XC4Lj8pOWzuQ==?=」當中
只有「wsWm4qRw50XC4Lj8pOWzuQ==」才是真正的加密字串
 
其它部份只是 RFC 文件中所規定格式
big5 : 表示原始字串為 Big5 語系編碼
B : 表示 Base64 ( Q 則為 QP 編碼 )
 
因此你必須設法只取得加密字串
取得加密字串後
可使用 .Net 的 Convert.FromBase64String 函式直接進行解碼

沒有留言:

張貼留言