重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

下のようなコードでWebページのソースを取得して、
そのページのコードを解析して、文字化けのない正常な状態で
変数にソースコードを代入するプログラムなのですが、
バイト配列に代入するためのバイト配列の配列数ですが、
5000などとするとページの途中まで正常に取得できるのですが、
多めにと思って50000とかとすると文字化けしてしまいます。
多すぎるとだめなようなのですが、これをぴったりの数値で設定するには
ページのバイト数はどのように取得したら良いでしょうか?
下のコードのGetCode(bs)というのは
http://dobon.net/vb/dotnet/string/detectcode.html
のページにあるコード解析関数の呼び出しの部分です。

Dim txt As String = "http://www.yahoo.co.jp"
Dim wc As New System.Net.WebClient
Dim fs As System.IO.Stream = wc.OpenRead(txt)
Dim bs(5000) As Byte
'byte配列に読み込む
fs.Read(bs, 0, bs.Length)
fs.Close()

'文字コードを取得する
Dim enc As System.Text.Encoding = GetCode(bs)

'デコードしてtxtに代入する
txt = enc.GetString(bs)

よろしくお願いいたします。

A 回答 (1件)

WebClient.DownloadData

    • good
    • 0
この回答へのお礼

WebClient.DownloadDataで出来ました!
ありがとうございました。

お礼日時:2006/12/27 03:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!