2015-09-07 3 views

Antwort

100

System.Runtime.Extensions definiert sowohl UrlDecode als auch HtmlDecode.

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[]); } 
    } 
} 

aktualisieren
Während System.Runtime.Extensions die Erweiterung definiert, wie Sie feststellen können davon Code der tatsächlichen Klasse ist Sie anrufen müssen, ist System.Net.WebUtility

System.Net.WebUtility.HtmlEncode(myString) 
System.Net.WebUtility.HtmlDecode(myString) 

Derzeit gibt es keine öffentlich Pläne einzubeziehen Decode in Microsoft.Framework.WebEncoders.

+0

Vielen Dank für Ihre Antwort. Ich hatte andere Probleme zu lösen, also teste ich erst gestern. – bezejmeny

+2

Vielen Dank für Ihre Antwort. Es funktioniert, aber ich habe ein kleines Problem damit. Ich versuche einen Wert zu kodieren und vergleiche das Ergebnis mit meiner vorherigen Anwendung in .NET 4.5. Das Ergebnis ist ein bisschen anders. In altem asp.net hatte ich den codierten Wert das Ergebnis: ** kA5viZqq23% 2f4LCe4IboZ7Q% 3d% 3d ** und mit dem neuen UrlEncode ist das reuslt das: ** kA5viZqq23% 2F4LCe4IboZ7Q% 3D% 3D ** Der Unterschied ist, dass wenige Briefe sind Kapital. Aus diesem Grund sind einige Werte wie **% 3D ** in meiner alten Version ein Gleichheitszeichen und in der neuen Version ist es nur so geschrieben wie es so ist **% 3D ** geschrieben wird. Hast du eine Ahnung davon? – bezejmeny

+0

Das ist interessant. Ich möchte Sie ermutigen, ein Problem in GitHub zu erstellen. –