線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2356
推到 Plurk!
推到 Facebook!

關於 IdDecoderMIME1->DecodeString 的一問

答題得分者是:artist1002
david629
一般會員


發表:50
回覆:25
積分:15
註冊:2003-02-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-26 15:35:18 IP:211.22.xxx.xxx 未訂閱
之前看過有人解釋此函式之用法 但是這邊卻發生一個問題,不知有誰知道如解決 void __fastcall TForm1::Button1Click(TObject *Sender) {   AnsiStrung aString;   IdMessage1->LoadFromFile("844.eml",true);   aString = IdDecoderMIME1->DecodeString(IdDecoderMIME1->ClassType(),"=?big5?B?raeqtA==?="); }    執行到 DecodeString 的時候都會出現 Uneven size in DecodeToStream 請問還有什麼地方沒注意的嗎 
artist1002
高階會員


發表:2
回覆:155
積分:151
註冊:2002-09-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-26 20:14:11 IP:211.76.xxx.xxx 未訂閱
嗯... 1. 我在使用DecodeString的時候也是出現很多問題 我最後是使用DecodeToSting來解碼    因為你使用DecodeString也是會跑到DecodeToString 最後都是使用DecodeToStream來處理    2. =?big5?B?raeqtA==?= 應該是郵件的主旨或是寄件收件人名吧... 其中 =?和?= 是編碼標示符 big5 表示語系 B 表示 Base64編碼 真正的編碼內容其實只有 raeqtA== 而已... 所以你的DecodeString只要傳 "raeqtA==" 就好了    解出來應該是 "郁玫" 吧...    原始碼如下
aString = IdDecoderMIME1->DecodeToString("raeqtA=="); 
david629
一般會員


發表:50
回覆:25
積分:15
註冊:2003-02-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-29 09:03:26 IP:211.22.xxx.xxx 未訂閱
引言: =?big5?B?raeqtA==?= 應該是郵件的主旨或是寄件收件人名吧... 其中 =?和?= 是編碼標示符 big5 表示語系 B 表示 Base64編碼 真正的編碼內容其實只有 raeqtA== 而已... 所以你的DecodeString只要傳 "raeqtA==" 就好了
感謝您的回答...我的問題就是出在沒有先將那些標示符號去除所產生的 那麼可以請教您是怎麼得知 語系and 編碼 等標示符號呢? 有函式可以判斷還是要土法煉鋼ㄚ(土法煉鋼我會啦^^)
artist1002
高階會員


發表:2
回覆:155
積分:151
註冊:2002-09-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-29 17:33:54 IP:211.76.xxx.xxx 未訂閱
嗯... 不瞞您說...我在處理這個是土法煉鋼的啦 因為我找不到相關的函式 再加上標示也不是太困難 所以我就自己寫程式來判斷了
系統時間:2024-05-03 18:51:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!