Est-ce que quelqu'un connaît un bon code C ++ qui fait cela
Réponses
Trop de publicités?J'ai fait face à la moitié de l'encodage de ce problème l'autre jour. Insatisfaite des options disponibles, et après avoir jeté un œil à cet exemple de code C , j'ai décidé de lancer ma propre fonction de codage d'URL C ++:
#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 << '%' << setw(2) << int((unsigned char) c);
}
return escaped.str();
}
L'implémentation de la fonction de décodage est laissée à l'exercice. : P
Répondre à ma propre question ...
libcurl a curl_easy_escape
Et le code source ...
http://www.codeguru.com/cpp/cpp/string/conversions/article.php/c12759
Le corps doit comporter au moins 30 caractères.
CGICC inclut des méthodes pour encoder et décoder les URL. form_urlencode et form_urldecode