Lorsque vous travaillez avec des paramètres d'URL, il est courant de rencontrer des chaînes codées pour empêcher les caractères spéciaux d'interférer avec les données. Cet article explique comment décoder de tels paramètres codés à l'aide de C#.
Considérons l'URL suivante comme exemple :
my.aspx?val=%2Fxyz2F
Pour décoder la valeur de ce paramètre codé, vous pouvez utiliser les méthodes suivantes :
La méthode Uri.UnescapeDataString(string) est une option simple pour décoder les paramètres d’URL. Il prend la chaîne codée en entrée et renvoie la valeur décodée.
Par exemple, pour décoder l'exemple de paramètre d'URL :
string decodedUrl = Uri.UnescapeDataString("my.aspx?val=%2Fxyz2F");
An une autre approche consiste à utiliser la méthode HttpUtility.UrlDecode(string), qui décode également les paramètres d'URL. efficacement.
string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");
Il convient de noter que certains paramètres d'URL peuvent être entièrement codés, ce qui signifie qu'ils contiennent plusieurs couches d'encodage. Pour gérer cela, vous pouvez utiliser une approche basée sur la boucle :
private static string DecodeUrlString(string url) { string newUrl; while ((newUrl = Uri.UnescapeDataString(url)) != url) url = newUrl; return newUrl; }
Cette approche garantit que même si l'URL contient plusieurs niveaux de codage, elle sera entièrement décodée.
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!