2011-09-27 13 views
0

時々、私はいくつかのWebサイトから何らかの文字化けした応答を得ています。ここでhttpWebresponseのコンテンツを適切な文字列形式で取得する方法は?

が私のコードです:

Stream responseStream = response.GetResponseStream(); 
buffer = new Byte[256];// 
int bytesRead; 
while ((bytesRead = responseStream.Read(buffer, 0, buffer.Length)) > 0) 
{ 
    outStream.Write(buffer, 0, bytesRead); 
    //resp=resp+ .UTF8.GetString(buffer, 0, bytesRead); 
    resp=resp + Encoding.ASCII.GetString(buffer); //resp is string 
} 

私から要求したとき、私はRESP文字列に次の文字を取得するwww.google.co.in:?

\ B \ 0 \ 0 \ 0 0≦y≦0、y≦F、z≦7m、y≦r、y≦33d、ここで、

この問題をどのように克服する必要がありますか?それはエンコーディングに関連していますか?

+0

ご自身の質問を編集してください。それを理解することは非常に困難です。また、コンテンツやコードを選択して '{}'をクリックすると、コードや特別なコンテンツを表すことができます。 –

+0

@kalyanは今理解できる質問ですか? – purvang

+0

[HttpWebRequestからの応答でコンテンツのエンコードの問題が発生する可能性があります](http://stackoverflow.com/questions/6103708/encoding-issues-with-content-in-response-from-httpwebrequest) – V4Vendetta

答えて

6

Iは、受信した応答は、gzipで圧縮されたので、以下に示すように、私はちょうど応答ストリームを解凍:

Stream responseStream = response.GetResponseStream(); 
responseStream = new GZipStream(responseStream, CompressionMode.Decompress); 

今一つは、私は上記のコードを使用してストリームを読み取ることができます。

@Kalyanあなたの助けをありがとう!

関連する問題