Heim >Backend-Entwicklung >C++ >Wie kann man URLs in C robust kodieren und dekodieren?

Wie kann man URLs in C robust kodieren und dekodieren?

DDD
DDDOriginal
2024-12-04 08:48:12754Durchsuche

How to Robustly Encode and Decode URLs in C  ?

URLs in C kodieren und dekodieren

Frage:

URLs in C kodieren und dekodieren . Ist robuster Code verfügbar?

Antwort:

Kodierung:

Um ein Problem mit der URL-Kodierung zu beheben, eine benutzerdefinierte Die C-Funktion wurde basierend auf einem C-Beispiel entwickelt Code:

#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 valid symbols
        if (isalnum(c) || c == '-' || c == '_' || c == '.' || c == '~') {
            escaped << c;
            continue;
        }

        // Percent-encode other characters
        escaped << uppercase;
        escaped << '%' << setw(2) << int((unsigned char) c);
        escaped << nouppercase;
    }

    return escaped.str();
}

Dekodierung:

Die Implementierung einer Dekodierungsfunktion ist eine optionale Übung.

Das obige ist der detaillierte Inhalt vonWie kann man URLs in C robust kodieren und dekodieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn