其實很多時候我們在做http請求數(shù)據(jù)返回的時候經(jīng)常會莫名發(fā)現(xiàn)會出現(xiàn)亂碼,大部分時候我們都覺得是編碼不對造成的。
一般情況下正常我們默認都是作個很簡單的操作,直接使用UTF-8編碼基本問題就搞定了
HttpWebRequest request;
request = (HttpWebRequest)WebRequest.Create(strURL);
request.Method = "GET";
HttpWebResponse response;
response = (HttpWebResponse)request.GetResponse();
Stream s;
s = response.GetResponseStream();
string StrDate = "";
string strValue = "";
StreamReader Reader = new StreamReader(s, Encoding.UTF8);
while ((StrDate = Reader.ReadLine()) != null)
{
strValue += StrDate + "\r\n";
}
基本問題就OK了,但有時候卻并不一定,比如如果事實上編碼并不是這樣呢?
我們就需要去判斷當前正確編碼方式,來確定
根據(jù)當前返回的類型正確的編碼方式來讀對應的流即可解決問題。
But 有時候卻并不一定是編碼造成的。。。
比如:如果使用了壓縮呢???