人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VB.NET を利用して、Yahoo! のトップページのソースを文字列として取得したいと思います。
Yahoo!のページは文字コードがEUCだと思いますので、Shift-JISにも変換したいです。

よろしくお願いします。

●質問者: yamazakiis
●カテゴリ:コンピュータ インターネット
✍キーワード:EUC JIS VB.NET Yahoo! ソース
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● donayama
●60ポイント

using使いまくってますが、.NET Framework 2.0ならということで。

 Dim url As String = "http://www.yahoo.co.jp/"
 Dim ie As System.Text.Encoding = System.Text.Encoding.GetEncoding("EUC-JP")
 Dim oe As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift_JIS")

 Using client As System.Net.WebClient = New System.Net.WebClient()
 Using st As System.IO.Stream = client.OpenRead(url)
 Using sr As System.IO.StreamReader = New System.IO.StreamReader(st, ie)
 Dim res As String = sr.ReadToEnd()
 '↓適当な出力先に置き換えてください
 TextBox1.Text = oe.GetString(System.Text.Encoding.Convert(ie, oe, ie.GetBytes(res)))
 End Using
 End Using
 End Using

内部処理だけの場合は sr.ReadToEnd() した時点でUTF-8のデータとして取り込まれているため上記の例ではそのまま普通にTextBox1上にソースが出力されます。(Convertしても出ますが)

あと、Shift_JISと指定するよりも

 Dim oe As System.Text.Encoding = System.Text.Encoding.GetEncoding(932)

と指定したほうがいわゆる「機種依存文字」対策になるかと思われます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ