У меня есть случайная сгенерированная строка, которую мне нужно поместить в URL, поэтому я кодирую ее так:
var encodedToken = System.Web.HttpUtility.UrlEncode(token, System.Text.Encoding.UTF8);
В методе действия ASP.NET я получаю этот токен и декодирую его:
var token = System.Web.HttpUtility.UrlDecode(encodedToken, System.Text.Encoding.UTF8);
но эти токены не совпадают. Например, строка ab+cd
будет закодирована в ab%2bcd
, а декодирование результата даст мне строку ab cd
(символ плюса изменен на пробел).
Пока что я только заметил проблему с символом +
, могут быть и другие.
Как я могу решить эту проблему?