« [.NET] フィードバック その後 - WPF: テキストボックスに Maxlength の長さの日本語文字列が入力できない | トップページ | 新年明けましておめでとうございます »

2009年12月29日 (火)

[.NET] フィードバック その後 - WebClient オブジェクトは Encoding を自動認識してほしい

これは 10月に提案として出したフィードバック (FeedbackID=495816)

めでたく .NET 4 beta2 で実装されてました。
Web サーバーがキチンと HTTP レスポンス ヘッダーに charset を入れておいてくれるなら、 ほんの数行で Web ページの内容を、 文字化けすることなく取得できます。 ( .NET 3.5 では、 この実装がされていないので、 正しく文字コードを指定してあげないと日本語のサイトは文字化けします。 )

string url
    = "http://www.microsoft.com/ja/jp/default.aspx";
System.Net.WebClient client
    = new System.Net.WebClient();
string content = client.DownloadString(url);

※ これ↑は同期リクエストですが、 非同期も簡単に書けますよ。 数行とはいかないですけど f(^^;

なお、 この自動認識が働くのは、 コードから Encoding を指定しなかった時だけです。 Encoding を指定したときは、 従来通り、 指定した文字コードとして受信します。 (…そのはず f(^^; )

|

« [.NET] フィードバック その後 - WPF: テキストボックスに Maxlength の長さの日本語文字列が入力できない | トップページ | 新年明けましておめでとうございます »

プログラミング」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [.NET] フィードバック その後 - WebClient オブジェクトは Encoding を自動認識してほしい:

» [.NET] WebClient クラスの Encoding 自動認識がバグってる、というフィードバックをしました [biac の それさえもおそらくは幸せな日々@nifty]
.NET 4 から、 WebClient クラスの DownloadString() メソッドは、 (明示的に Encoding が指定されていない時に) HTTP レスポンスヘッダーの Content-type に含まれる charset を見て、 文字 Encoding を自動識別してくれるようになりました。 ⇒ ... [続きを読む]

受信: 2011年8月26日 (金) 21時23分

« [.NET] フィードバック その後 - WPF: テキストボックスに Maxlength の長さの日本語文字列が入力できない | トップページ | 新年明けましておめでとうございます »