首頁 >後端開發 >C++ >如何在 C 中穩健地編碼和解碼 URL?

如何在 C 中穩健地編碼和解碼 URL?

DDD
DDD原創
2024-12-04 08:48:12747瀏覽

How to Robustly Encode and Decode URLs in C  ?

C 中的URL 編碼和解碼

問題:

問題:

C 中的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);

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

要解 URL編碼問題,需要自訂一個C函數是基於C範例開發的程式碼:

解碼:實作解碼函數是可選練習。

以上是如何在 C 中穩健地編碼和解碼 URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn