2012-05-22 36 views
3

我下載了一個編碼爲「usa-ascii」的頁面,但是我得到了錯誤的字符。爲什麼??通過webclient以正確的編碼下載html頁面

WebClient wb = new WebClient(); 
Encoding enc = Encoding.GetEncoding("US-ASCII"); 
wb.Encoding = enc; 
byte[] by = wb.DownloadData(link); 
string htmlDoc = enc.GetString(by); 

,但我得到:鐠代替ž普拉茲

的Html我link的:(沙雷= US-ASCII)

<html debug="true"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"/> 
</head> 
................... 

什麼是錯的???

p.s.我嘗試編碼utf-8,但它也沒有工作。

回答

2

US-ASCII沒有該字符,因此該頁面包含無效字符(用於定義的字符集)。你的代碼沒有錯,問題在於US-ASCII不能滿足像ä這樣的字符。

US-ASCII數據表:link

+0

如果是這樣的:1。爲什麼ASCII在網頁中工作良好。 2.爲什麼utf-8不適合我? –

+0

我不知道,但我會嘗試:1)您的瀏覽器可能會在幕後修復它。 2)您的網頁在創建時可能未保存爲UTF-8 - 我需要網頁才能找到。 –

+0

我添加了我的問題鏈接。 (「鏈接」一詞中的超鏈接)。請參見行號6.列號3. –