Décodage des paramètres d'URL encodés en C#
Lorsque vous travaillez avec des URL en C#, il est souvent nécessaire de décoder les paramètres encodés. Par exemple, dans l'URL my.aspx?val=/xyz2F, la valeur du paramètre /xyz2F est codée et doit être décodée pour révéler sa vraie valeur, qui est /xyz2F.
Pour décoder les paramètres d'URL en C# , il existe deux approches courantes :
Utiliser Uri.UnescapeDataString() :
string url = "my.aspx?val=%2Fxyz2F"; string decodedUrl = Uri.UnescapeDataString(url);
Cette méthode décode l'intégralité de la chaîne de paramètres d'URL, y compris d'autres parties codées.
À l'aide de HttpUtility. UrlDecode() :
string url = "my.aspx?val=%2Fxyz2F"; string decodedUrl = HttpUtility.UrlDecode(url);
Cette méthode décode uniquement le valeur de paramètre d'URL spécifique, et non l'URL entière.
Dans certains cas, une URL peut être codée plusieurs fois. Pour décoder entièrement une telle chaîne d'URL, vous pouvez utiliser une boucle, comme indiqué ci-dessous :
private static string DecodeUrlString(string url) { string newUrl; while ((newUrl = Uri.UnescapeDataString(url)) != url) url = newUrl; return newUrl; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!