| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2642 人关注过本帖
标题:如何将流中的数据转换成中文汉字??
取消只看楼主 加入收藏
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
结帖率:100%
收藏
 问题点数:0 回复次数:4 
如何将流中的数据转换成中文汉字??
最近本人写了一个读取网络流,并保存为一个文本的文件,如下:
功能就是输入一个网址,它将把其首页保存为一个文本文件。比方说输入了www.,就会保存为一个www.的文件。我发现保存后的文件里面中文显示不正常,是一些乱码,请高手告诉我如何正确地显示中文!!

using System;
using System.Text;
using
using
using

class app
{
static void networkstreamtest()
{
string server;
Console.WriteLine("please enter a valid URL...");
server=Console.ReadLine();
IPAddress[] hostadds;
try
{
hostadds=Dns.GetHostEntry(server).AddressList;
}
catch(Exception e)
{
Console.WriteLine(e.Message);
return;
}


Console.WriteLine(server+" ip list is:");
for(int i=0;i<hostadds.Length;i++)
{
Console.WriteLine(hostadds[i].ToString());
}
Console.WriteLine("press enter to continue...");
Console.ReadLine();
IPEndPoint ephost=new IPEndPoint(hostadds[0],80);
Socket s=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
s.Connect(ephost);
if (!s.Connected)
{
Console.WriteLine("unable to connect.");
return;
}
string str="GET / HTTP/1.1\r\nHost:"+server+"\r\nConnection: Close\r\n\r\n";
Byte[] request=Encoding.ASCII.GetBytes(str);
NetworkStream nstream=new NetworkStream(s,FileAccess.ReadWrite);
nstream.Write(request,0,request.Length);
int nextbyte;
Stream sf;
sf=new FileStream(server+".html.txt",FileMode.Create);
StreamWriter sw;
sw=new StreamWriter(sf);
while((nextbyte=nstream.ReadByte())!=-1)
{
sw.Write((char)nextbyte);
}
sw.Close();
Console.WriteLine("File"+server+".html.txt"+"is saved!");

}
public static void Main()
{
networkstreamtest();
}
}
搜索更多相关主题的帖子: 汉字 中文 数据 
2008-12-11 08:33
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
收藏
得分:0 
我是新手啊,不太明白,梦心,请帮我改下程序吧

QQ:81704464
2008-12-11 08:48
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
收藏
得分:0 
果然不行啊,可能真是别的原因造成的,不过还是多谢了~~~

QQ:81704464
2008-12-11 09:30
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
收藏
得分:0 
呵呵,还是不行,我个人觉得应该是这一句的事:sw.Write((char)nextbyte);如何把nextbyte这个变量转换为UTF8编码呢?而不是简单转换为char

QQ:81704464
2008-12-11 12:20
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
收藏
得分:0 
好像不行啊,楼上的,你试过吗

QQ:81704464
2008-12-15 13:30
快速回复:如何将流中的数据转换成中文汉字??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028838 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved