狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

[.NET]解決使用JMail接收郵件時的標題亂碼

admin
2011年12月22日 17:56 本文熱度 3430

本人使用的版本:JMail44_pro


使用Msg.Headers.GetHeader("Subject")得到的內容是:
=?utf-8?B?5L2g5Lus5aW95ZWK77yM6IO95pi+56S65ZCX77yf?=
一共有4個“?”號,作為分隔符
第一段:utf-8
第二段:B
第三段:5L2g5Lus5aW95ZWK77yM6IO95pi+56S65ZCX77yf
第四段:=
其中第三段就是標題的內容,但是經過Base64編碼了
第一段就是標題內容原來的編碼
所以,要進行兩步反編碼



Private Function DecodeStr()Function DecodeStr(ByVal str As String) As String
'可以往這里添加更多的編碼,比如GB2312等等
Dim encodingList As New ArrayList
encodingList.Add("ISO-2022-JP")
encodingList.Add("UTF-8")


Dim encodingStr As String = ""


Dim sArr() As String = Nothing


Dim result As String = ""


If str IsNot Nothing Then
For i As Integer = 0 To encodingList.Count - 1
encodingStr = encodingList(i).ToString()
'判斷傳入的Subject原文有沒有包含前面添加的編碼字符串
If str.ToUpper.Contains(encodingStr) Then
'存在的話,進行字符串分割
sArr = str.Split("?")
Exit For
End If
Next


If sArr IsNot Nothing Then
'sArr(3)就是經過Base64編碼的原Subject內容
Dim b As Byte() = Convert.FromBase64CharArray(sArr(3).ToCharArray(), 0, sArr(3).ToCharArray().Length)
Dim en As Encoding = Encoding.GetEncoding(encodingStr)
result = en.GetString(b)
Else
result = str
End If
End If


Return result
End Function
調用方法:DecodeStr(Msg.Headers.GetHeader("Subject"))


該文章在 2011/12/22 17:56:56 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved