为何读取邮件头中的汉字时变成了乱码?

chensan 2003-12-05 10:23:17
为何读取邮件头中的汉字时变成了乱码?请高手指教!
这是我从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中出现了部分乱码,无法看到汉字的真实内容,请问为什么会这样?又如何解决呢?
...全文
117 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sukermq 2003-12-05
  • 打赏
  • 举报
回复
对啊,我也遇到了类似问题,请高手指教......
acewang 2003-12-05
  • 打赏
  • 举报
回复
try:
Encoding.Default.GetBytes()
???2008 2003-12-05
  • 打赏
  • 举报
回复
up
sukermq 2003-12-05
  • 打赏
  • 举报
回复
哈哈!搞定,改成这样就可以了,至少简体中文、繁体中文、英文都没问题,哈哈!
StreamReader srStr = new StreamReader(server.GetStream(),Encoding.Default);谢谢了,给分!
sukermq 2003-12-05
  • 打赏
  • 举报
回复
有道理,试一试,如果可以的话,就给你加分,谢谢提醒,不过最好能够说得更清楚点。
巍巍清风 2003-12-05
  • 打赏
  • 举报
回复
邮件中的内容可能是经过MIME编码的,倒过来对它进行MIME解码,这可以从邮件头信息里判断是否经过了MIME编码。
巍巍清风 2003-12-05
  • 打赏
  • 举报
回复
不能使用Encoding.ASCII来解析,使用中文的邮件用ASCII码来解析估计都会乱码,试一下用Unicode/UTF8, 也许有什么地方可以判断到究竟是哪种编码。
rock1981 2003-12-05
  • 打赏
  • 举报
回复
StreamWriter srStr = new StreamWriter (str,Encoding.Unicode);
StreamReader srStr = new StreamReader(server.GetStream(), Encoding.Unicode);
sukermq 2003-12-05
  • 打赏
  • 举报
回复
Encoding.Default.GetBytes()
这不等于没有回答啊,有没有高手指点啊?不够我再加分哦,急......

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧