Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengekod dan Menyahkod URL dengan Teguh dalam C?

Bagaimana untuk Mengekod dan Menyahkod URL dengan Teguh dalam C?

DDD
DDDasal
2024-12-04 08:48:12755semak imbas

How to Robustly Encode and Decode URLs in C  ?

Pengekodan dan Penyahkodan URL dalam C

Soalan:

Ekod dan menyahkod URL dalam C . Adakah terdapat sebarang kod teguh yang tersedia?

Jawapan:

Pengekodan:

Untuk menyelesaikan isu pengekodan URL, tersuai Fungsi C dibangunkan berdasarkan sampel C kod:

#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();
}

Penyahkodan:

Melaksanakan fungsi penyahkodan ialah latihan pilihan.

Atas ialah kandungan terperinci Bagaimana untuk Mengekod dan Menyahkod URL dengan Teguh dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn