Pengekodan dan Penyahkodan URL dalam C
Banyak aplikasi mengendalikan data yang perlu dihantar ke seluruh rangkaian melalui URL. Dalam senario ini, adalah penting untuk mengekod URL bagi memastikan aksara dan ruang khas diwakili dengan betul.
Pengekodan URL
Berikut ialah fungsi C yang mengekodkan URL:
#include <cctype> #include <iomanip> #include <sstream> #include <string> using namespace std; string url_encode(const string &value) { ostringstream escaped; escaped.fill('0'); escaped << hex; for (string::const_iterator i = value.begin(), n = value.end(); i != n; ++i) { string::value_type c = (*i); // Keep alphanumeric and other accepted characters intact if (isalnum(c) || c == '-' || c == '_' || c == '.' || c == '~') { escaped << c; continue; } // Any other characters are percent-encoded escaped << uppercase; escaped << '%' << setw(2) << int((unsigned char) c); escaped << nouppercase; } return escaped.str(); }
Menyahkod URL (Latihan)
Seperti yang dinyatakan dalam jawapan kepada soalan asal, melaksanakan penyahkodan URL dibiarkan sebagai latihan untuk anda. Fungsi ini akan mengambil URL yang dilepaskan dan menukarnya kembali kepada format asalnya.
Contoh Penggunaan
Untuk mengekod URL, hanya panggil fungsi url_encode yang menghantar input rentetan.
Untuk menyahkod URL, laksanakan fungsi penyahkodan dan panggilnya dengan rentetan yang terlepas sebagai input.
Atas ialah kandungan terperinci Bagaimana untuk Mengekod dan Menyahkod URL dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!