Согласно документации System.Net.WebUtility.UrlEncode (String) коды символов метода должны быть закодированы строчными буквами, по крайней мере, в приведенном примере Итак: « Например, когда встраивается в блок текста для передачи в URL, символы <и> кодируются как% 3c и% 3e. »
Но я получаю их все в верхнем регистре. Например этот код:
string url = "https://host<test>";
Console.WriteLine("system.net: {0}", System.Net.WebUtility.UrlEncode(url);
Дает мне следующее:
system.net: https% 3A% 2F% 2Fhost% 3Ctest% 3E
С другой стороны System.Web.HttpUtility.UrlEncode дает мне все в нижнем регистре:
string url = "https://host<test>";
Console.WriteLine("system.web: {0}", System.Web.HttpUtility.UrlEncode(url);
Выход:
system.web: https% 3a% 2f% 2fhost% 3ctest% 3e
Ожидается ли это?