作者sosokill (隨便殺)
看板C_Sharp
標題[問題] POP3收信編碼問題
時間Thu Nov 26 02:28:36 2009
利用sokcet取得郵件內容之後,在中文的部分總是呈現亂碼,
有嘗試過一些編碼的方式,但似乎都沒用 = =
string test =
Encoding.GetEncoding("Big5").GetString(Encoding.ASCII.GetBytes(msg[i]));
因為msg[i]是string,且是用ASCII編碼過來的,
所以我先將它反編碼成byte型態(socket接收到的原始型態),
再編碼成string,但是還是一樣呈現亂碼。
EX:
我收到的byte編碼成ASCII會是
Subject: =?big5?B?xXeq77F6qM+lzqF1UENob21lILlxpGy2bKXzoXaqQbDI?=
用Big5編碼後卻還是一樣(有試過將 Subject: =?big5? 消去再編碼)
Unicode、UTF8等等也都有試過,但還是一樣,
是我有哪邊弄錯了嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.36.227
1F:→ pico2k:keyword: "MIME" 11/26 08:36
2F:→ sosokill:可是Subject那邊不是說編碼是"big5"嗎? 11/26 12:55
3F:→ sosokill:底下本文我知道是MINE 但上面呢? 11/26 12:55
4F:→ MOONRAKER:你這天才 那=?big5?是MIME header 意思是說編碼前big5 11/26 18:11
5F:→ MOONRAKER:不是說編碼後還big5 哪有可能 你這個例子是base64 11/26 18:12
6F:→ EricTsai:?B?表示後面是Base64 encode,要先Base64 decode再用Big5 11/27 01:32
7F:→ sosokill:感謝@@因為之前沒碰過編碼方面 所以完全不清楚= = 11/29 23:46