System.Runtime.Extensions definiuje zarówno UrlDecode
i .
namespace System.Net
{
public static partial class WebUtility
{
public static string HtmlDecode(string value) { return default(string); }
public static string HtmlEncode(string value) { return default(string); }
public static string UrlDecode(string encodedValue) { return default(string); }
public static byte[] UrlDecodeToBytes(byte[] encodedValue, int offset, int count) { return default(byte[]); }
public static string UrlEncode(string value) { return default(string); }
public static byte[] UrlEncodeToBytes(byte[] value, int offset, int count) { return default(byte[]); }
}
}
Aktualizacja
Podczas System.Runtime.Extensions
określa rozszerzenie, jak można zauważyć, ze jest to kod rzeczywista klasa trzeba zadzwonić to System.Net.WebUtility
System.Net.WebUtility.HtmlEncode(myString)
System.Net.WebUtility.HtmlDecode(myString)
Obecnie nie ma żadnych publicznie wykonane plany obejmują Decode
w Microsoft.Framework.WebEncoders
.
Wielkie dzięki za odpowiedź. Miałem inne problemy do rozwiązania, więc wczoraj dostałem się do testowania. – bezejmeny
Dziękuję za odpowiedź. Działa, ale mam z tym mały problem. Próbuję zakodować jedną wartość i porównuję wynik z moją poprzednią aplikacją w .NET 4.5. Wynik jest nieco inny. W starym asp.net miałem zakodowaną wartość tego wyniku: ** kA5viZqq23% 2f4LCe4IboZ7Q% 3d% 3d ** iz nowym UrlEncode reuslt to: ** kA5viZqq23% 2F4LCe4IboZ7Q% 3D% 3D ** Różnica jest taka, że kilka litery są kapitałem. Z tego powodu niektóre wartości, takie jak **% 3D **, są w mojej starej wersji znakiem równości, aw nowej wersji są zapisywane tylko tak, jak jest napisane **% 3D **. Czy masz jakiś pomysł na ten temat? – bezejmeny
To interesujące. Zachęcam Cię do stworzenia problemu w GitHub. –