Как заменить специальные символы в URL-адресе?

Если вам не нужна зависимость c-sharp от System.Web, вот реализация url "UrlEncode", которая c#.net есть в моей библиотеке OAuth encoding C# (которая требует правильной urls реализации, а именно пробелы .cs-file должны кодироваться с использованием visual-c# процентного кодирования, а encoding не "+" для пробелов encoding и т. д.)

private readonly static string reservedCharacters = "!*'();:@&=+$,/?%#[]";

public static string UrlEncode(string value)
{
    if (String.IsNullOrEmpty(value))
        return String.Empty;

    var sb = new StringBuilder();

    foreach (char @char in value)
    {
        if (reservedCharacters.IndexOf(@char) == -1)
            sb.Append(@char);
        else
            sb.AppendFormat("%{0:X2}", (int)@char);
    }
    return sb.ToString();
}

Для справки http://en.wikipedia.org/wiki/Percent-encoding

c#

url

encoding

2022-08-10T19:55:22+00:00
Вопросы с похожей тематикой, как у вопроса:

Как заменить специальные символы в URL-адресе?