使用 URL 參數時,經常會遇到編碼字串,以防止特殊字元幹擾資料。本文探討如何使用 C# 解碼此類編碼參數。
以以下URL 為例:
my.aspx?val=%2Fxyz2F
要解碼此編碼參數值,您可以使用以下方法:
Uri.UnescapeDataString(string) 方法是用來解碼URL 參數的簡單選項。它將編碼的字串作為輸入並傳回解碼的值。
例如,解碼範例URL 參數:
string decodedUrl = Uri.UnescapeDataString("my.aspx?val=%2Fxyz2F");
An另一種方法是使用HttpUtility.UrlDecode(string) 方法,該方法也會解碼URL參數
string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");
值得注意的是,某些 URL 參數可能是完全編碼的,這意味著它們包含多層編碼。為了解決這個問題,您可以採用基於循環的方法:
private static string DecodeUrlString(string url) { string newUrl; while ((newUrl = Uri.UnescapeDataString(url)) != url) url = newUrl; return newUrl; }
此方法可確保即使 URL 包含多個層級的編碼,它也會完全解碼。
以上是如何在 C# 中解碼編碼的 URL 參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!