Я создаю приложение Windows, и мне нужно передать закодированный URL. Но я не уверен, как его кодировать в WinForms С#?
Как закодировать URL-адрес в WinForms?
Ответ 1
Если вам требуется URL-кодирование данных для запроса, вы можете использовать Uri.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"
Ответ 2
Попробуйте Uri.EscapeUriString()
Ответ 3
Вы пробовали с помощью:
var url = System.Net.WebUtility.UrlEncode(string);
Вам не нужна зависимость от System.Web, и вы можете использовать ее в PCL, я использовал ее в своем проекте форм Xamarin.