web-dev-qa-db-ja.com

WinFormsでURLをエンコードする方法は?

Windowsアプリケーションを作成していますが、エンコードされたURLを渡す必要があります。しかし、WinForms C#でエンコードする方法がわかりませんか?

20
Andrew

クエリ文字列のデータをURLエンコードする必要がある場合は、 ri.EscapeDataString を使用するか、System.Webを参照してもかまわない場合は、 HttpUtility.UrlEncode :を使用できます。

var rawString = @"this & that";
var uriEncoded = Uri.EscapeDataString(rawString);
var httpUtilityEncoded = HttpUtility.UrlEncode(rawString);

それらは非常に似ていますが、スペースなどの特殊文字のエンコード方法で微妙に異なる結果を生成する可能性があります。

Console.WriteLine(uriEncoded);
// uriEncoded = "this%20%26%20that"

Console.WriteLine(httpUtilityEncoded);
// httpUtilityEncoded = "this+%26+that"
36
Chris Fulstow

試してください ri.EscapeUriString()

5
Bala R

試しましたか:

var url = System.Net.WebUtility.UrlEncode(string);

System.Webに依存する必要はなく、PCLで使用できます。私は、Xamarinフォームプロジェクトで使用しました。

4
Dan