Concevoir une solution efficace d'encodage/décodage d'URL en C
La tâche d'encodage et de décodage des URL pour garantir un transfert de données transparent est souvent rencontrée dans développement web. En C, la réalisation de cette fonctionnalité nécessite une solution robuste.
Une fonction de codage complète
Une approche du codage d'URL en C est illustrée par l'extrait de code suivant :
#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); // Preserve alphanumeric and designated characters if (isalnum(c) || c == '-' || c == '_' || c == '.' || c == '~') { escaped << c; continue; } // Percent-encode non-compliant characters escaped << uppercase; escaped << '%' << setw(2) << int((unsigned char) c); escaped << nouppercase; } return escaped.str(); }
Cette fonction encode méticuleusement les caractères non conformes conformément à la norme d'encodage d'URL, la rendant ainsi adaptée à transmettre des données sur des plateformes Web.
Décodage : un exercice pour le lecteur
Bien qu'elle ne soit pas explicitement prévue dans le code, l'opération de décodage peut être mise en œuvre sous forme d'exercice, à condition amplement l'occasion de saisir les détails complexes de la gestion des URL.
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!