为何读取邮件头中的汉字时变成了乱码?
为何读取邮件头中的汉字时变成了乱码?请高手指教!
这是我从Foxmail中获取的部分头信息:
Date: Fri, 14 Nov 08:47:41 2003 +0800
From: 新浪邮箱
To: "testuser" <testuser@sina.com>
Subject: 欢迎加入有缘人俱乐部
我的部分代码如下:
TcpClient server = new TcpClient("pop3.sina.com.cn",110);
NetworkStream nsStr = server.GetStream();
StreamReader srStr = new StreamReader(server.GetStream());
string m_cmdstr = "USER testuser \r\n";
byte[] m_cmd = Encoding.ASCII.GetBytes(m_cmdstr.ToCharArray());
nsStr.Write(m_cmd,0,m_cmd.Length);
srStr.ReadLine();
m_cmdstr = "PASS testpass \r\n";
m_cmd = Encoding.ASCII.GetBytes(m_cmdstr.ToCharArray());
nsStr.Write(m_cmd,0,m_cmd.Length);
srStr.ReadLine();
srStr.ReadLine();
//用TOP命令获取第一封邮件的所有头信息,关键代码在下面:
m_cmdstr = "TOP 1 0 \r\n";
m_cmd = Encoding.ASCII.GetBytes(m_cmdstr.ToCharArray());
nsStr.Write(m_cmd,0,m_cmd.Length);
string m_msg = "",m_allmsg = "";
while(m_msg!=".")
{
m_msg = srStr.ReadLine();
m_allmsg += m_msg;
}
//大致代码如上,但是问题出现了:
在调试过程中,当读到“新浪邮箱”或者是“欢迎加入有缘人俱乐部”这些汉字时,
m_msg中出现了部分乱码,无法看到汉字的真实内容,请问为什么会这样?又如何解决呢?