Maison >développement back-end >C++ >Comment encoder et décoder des URL en C ?
Encodage et décodage des URL en C
De nombreuses applications gèrent les données qui doivent être transmises à travers le réseau via des URL. Dans ces scénarios, il est crucial d'encoder l'URL pour garantir que les caractères spéciaux et les espaces sont représentés correctement.
Encodage d'une URL
Voici une fonction C qui encode un 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(); }
Décoder une URL (Exercice)
Comme mentionné dans la réponse à la question d'origine, la mise en œuvre du décodage d'URL est laissée comme un exercice pour vous. Cette fonction prendrait une URL échappée et la reconvertirait dans son format d'origine.
Exemple d'utilisation
Pour encoder une URL, appelez simplement la fonction url_encode en passant l'entrée string.
Pour décoder une URL, implémentez la fonction de décodage et appelez-la avec la chaîne d'échappement comme entré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!