Apabila bekerja dengan parameter URL, adalah perkara biasa untuk menemui rentetan yang dikodkan untuk menghalang aksara khas daripada mengganggu data. Artikel ini meneroka cara untuk menyahkod parameter yang dikodkan menggunakan C#.
Pertimbangkan URL berikut sebagai contoh:
my.aspx?val=%2Fxyz2F
Untuk menyahkod nilai parameter yang dikodkan ini, anda boleh menggunakan kaedah berikut:
The Kaedah Uri.UnescapeDataString(rentetan) ialah pilihan mudah untuk menyahkod parameter URL. Ia mengambil rentetan yang dikodkan sebagai input dan mengembalikan nilai yang dinyahkodkan.
Sebagai contoh, untuk menyahkod contoh parameter URL:
string decodedUrl = Uri.UnescapeDataString("my.aspx?val=%2Fxyz2F");
An pendekatan alternatif ialah menggunakan kaedah HttpUtility.UrlDecode(string), yang juga menyahkod parameter URL dengan berkesan.
string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");
Perlu diperhatikan bahawa sesetengah parameter URL mungkin dikodkan sepenuhnya, bermakna ia mengandungi berbilang lapisan pengekodan. Untuk mengendalikan perkara ini, anda boleh menggunakan pendekatan berasaskan gelung:
private static string DecodeUrlString(string url) { string newUrl; while ((newUrl = Uri.UnescapeDataString(url)) != url) url = newUrl; return newUrl; }
Pendekatan ini memastikan bahawa walaupun URL mengandungi berbilang peringkat pengekodan, ia akan dinyahkod sepenuhnya.
Atas ialah kandungan terperinci Bagaimana untuk Menyahkod Parameter URL Berkod dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!