我一直試圖讓這個工作,但在這一點上我非常沮喪。我是這個領域的初學者,所以也許我只是犯了錯誤。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