Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengekod dan Menyahkod URL dengan Cekap dalam C?

Bagaimanakah Saya Boleh Mengekod dan Menyahkod URL dengan Cekap dalam C?

Linda Hamilton
Lepaskan: 2024-12-03 22:04:11
asal
481 orang telah melayarinya

How Can I Efficiently Encode and Decode URLs in C  ?

Merancang Penyelesaian Pengekodan/Penyahkodan URL yang Berkesan dalam C

Tugas pengekodan dan penyahkodan URL untuk memastikan pemindahan data yang lancar sering ditemui dalam pembangunan web. Dalam C , untuk mencapai fungsi ini memerlukan penyelesaian yang mantap.

Fungsi Pengekodan Komprehensif

Satu pendekatan untuk pengekodan URL dalam C ditunjukkan oleh coretan kod berikut:

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

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

    return escaped.str();
}
Salin selepas log masuk

Fungsi ini mengekod aksara tidak patuh dengan teliti mengikut dengan standard pengekodan URL, menjadikannya sesuai untuk menghantar data merentas platform web.

Penyahkodan: Latihan untuk Pembaca

Walaupun tidak diberikan secara eksplisit dalam kod, operasi penyahkodan boleh dilaksanakan sebagai latihan, memberikan peluang yang mencukupi untuk memahami butiran rumit pengendalian URL.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan