Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menyahkod Parameter URL Berkod dalam C#?

Bagaimana untuk Menyahkod Parameter URL Berkod dalam C#?

Barbara Streisand
Barbara Streisandasal
2025-01-06 15:20:39768semak imbas

How to Decode Encoded URL Parameters in C#?

Menyahkod Parameter URL Dikodkan dalam C

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:

Uri.UnescapeDataString()

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

HttpUtility.UrlDecode()

An pendekatan alternatif ialah menggunakan kaedah HttpUtility.UrlDecode(string), yang juga menyahkod parameter URL dengan berkesan.

string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");

Mengendalikan URL yang Dikodkan Sepenuhnya

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn