Heim >Backend-Entwicklung >C++ >Wie dekodiere ich codierte URL-Parameter in C#?

Wie dekodiere ich codierte URL-Parameter in C#?

Barbara Streisand
Barbara StreisandOriginal
2025-01-06 15:20:39799Durchsuche

How to Decode Encoded URL Parameters in C#?

Decodieren codierter URL-Parameter in C

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:

Uri.UnescapeDataString()

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");

HttpUtility.UrlDecode()

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");

Umgang mit vollständig codierten URLs

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn