我一直试图让这个工作,但在这一点上我非常沮丧。我是这个领域的初学者,所以也许我只是犯了错误。Silverlight:对webClient流进行编码
我需要做的是接受一个网站.html并将其存储到一个txt文件中。现在的问题是,这个网站是俄文版(编码windows-1251),Silverlight只支持3种编码。所以为了绕过这个限制,我得到了一个编码类,它将流传输到一个字节数组,然后尝试从文本中提取正确编码的字符串。与此问题是,
1)我试图确保webClient接收一个Unicode编码流,因为其他人似乎并没有创建一个可检索的字符串,但它似乎仍然不工作。
WebClient wc = new WebClient();
wc.Encoding = System.Text.Encoding.Unicode;
wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_LoadCompleted);
wc.DownloadStringAsync(new Uri(site));
2)我担心,当我的HTML存储到使用StreamWriter的txt文件,编码是,再一次,不知怎么搞砸了。 3)编码类没有完成它的工作。
Encoding rus = Encoding.GetEncoding(1251);
Encoding eng = Encoding.Unicode;
byte[] bytes = rus.GetBytes(string);
textBlock1.Text = eng.GetString(bytes);
任何人都可以提供这方面的任何帮助吗?这对我的项目造成巨大的损害。在此先感谢,
谢谢!我重写了我改为'OpenReadAsync',但我仍然无法获得正确的文本。然后我注意到StreamReader也有一个编码属性,所以我将它设置为Unicode,运行代码并且工作正常! – Kirill 2011-05-20 22:21:28