0

ウェブサイトでヘブライ語の文字列を見つけようとしています。読み取りコードを添付します。

その後、streamReader を使用してファイルを読み込もうとしましたが、他の言語の文字列と一致させることができません。私は何をすればいいですか?

   // used on each read operation
    byte[] buf = new byte[8192];

    // prepare the web page we will be asking for
    HttpWebRequest request = (HttpWebRequest)
        WebRequest.Create("http://www.webPage.co.il");

    // execute the request
    HttpWebResponse response = (HttpWebResponse)
        request.GetResponse();

    // we will read data via the response stream
    Stream resStream = response.GetResponseStream();

    string tempString = null;
    int count = 0;
    FileStream fileDump = new FileStream(@"c:\dump.txt", FileMode.Create);
    do
    {
        count = resStream.Read(buf, 0, buf.Length);
        fileDump.Write(buf, 0, buf.Length);

    }
    while (count > 0); // any more data to read?

    fileDump.Close();
4

2 に答える 2

0

適切なエンコーダーがありません。詳細については、WebResponse.GetResponseStream メソッドをご覧ください。

更新: ヘブライ語 (Windows) エンコーディングは 1255 を使用

Encoding encode = System.Text.Encoding.GetEncoding(1255); // Hebrew (Windows) 

// Pipe the stream to a higher level stream reader with the required encoding format. 
 StreamReader readStream = new StreamReader( resStream , encode );
于 2010-06-09T18:04:29.577 に答える
0

解決しました。

問題は間違ったエンコーディングを選択していたことでした.utf-8を選択しましたが、これは必ずしも正しい答えではありません:)

キーライン:

Encoding encode = System.Text.Encoding.GetEncoding("windows-1255");
StreamReader readStream = new StreamReader(ReceiveStream, encode);
于 2010-06-09T19:28:03.900 に答える