Heim >Backend-Entwicklung >C++ >Wie kodiere und dekodiere ich URLs in C?
URLs in C kodieren und dekodieren
Viele Anwendungen verarbeiten Daten, die über URLs über das Netzwerk übertragen werden müssen. In diesen Szenarien ist es wichtig, die URL zu kodieren, um sicherzustellen, dass Sonderzeichen und Leerzeichen korrekt dargestellt werden.
Kodieren einer URL
Hier ist eine C-Funktion, die a kodiert 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(); }
Dekodierung einer URL (Übung)
Wie in der Antwort auf die ursprüngliche Frage erwähnt, bleibt Ihnen die Implementierung der URL-Dekodierung als Übung überlassen. Diese Funktion würde eine maskierte URL nehmen und sie zurück in ihr ursprüngliches Format konvertieren.
Beispielverwendung
Um eine URL zu kodieren, rufen Sie einfach die Funktion url_encode auf und übergeben Sie die Eingabe string.
Um eine URL zu dekodieren, implementieren Sie die Dekodierungsfunktion und rufen Sie sie mit der maskierten Zeichenfolge als auf Eingabe.
Das obige ist der detaillierte Inhalt vonWie kodiere und dekodiere ich URLs in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!