Bei der Arbeit mit URL-Parametern stößt man häufig auf codierte Zeichenfolgen, um zu verhindern, dass Sonderzeichen die Daten beeinträchtigen. In diesem Artikel wird erläutert, wie solche codierten Parameter mit C# decodiert werden.
Betrachten Sie die folgende URL als Beispiel:
my.aspx?val=%2Fxyz2F
Um diesen codierten Parameterwert zu decodieren, können Sie die folgenden Methoden verwenden:
Die Uri.UnescapeDataString(string)-Methode ist eine einfache Option zum Dekodieren von URL-Parametern. Es verwendet die codierte Zeichenfolge als Eingabe und gibt den decodierten Wert zurück.
Zum Beispiel zum Decodieren des Beispiel-URL-Parameters:
string decodedUrl = Uri.UnescapeDataString("my.aspx?val=%2Fxyz2F");
An Ein alternativer Ansatz besteht darin, die Methode HttpUtility.UrlDecode(string) zu verwenden, die auch URL-Parameter dekodiert effektiv.
string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");
Es ist zu beachten, dass einige URL-Parameter möglicherweise vollständig codiert sind, was bedeutet, dass sie mehrere Codierungsebenen enthalten. Um dies zu bewältigen, können Sie einen schleifenbasierten Ansatz verwenden:
private static string DecodeUrlString(string url) { string newUrl; while ((newUrl = Uri.UnescapeDataString(url)) != url) url = newUrl; return newUrl; }
Dieser Ansatz stellt sicher, dass die URL auch dann vollständig dekodiert wird, wenn sie mehrere Codierungsebenen enthält.
Das obige ist der detaillierte Inhalt vonWie dekodiere ich codierte URL-Parameter in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!