首頁 >後端開發 >C++ >如何用 C 語言對 URL 進行編碼和解碼?

如何用 C 語言對 URL 進行編碼和解碼?

Barbara Streisand
Barbara Streisand原創
2024-12-08 01:11:12155瀏覽

How to Encode and Decode URLs in C  ?

C 語言中的 URL 編碼和解碼

許多應用程式處理需要透過 URL 在網路上傳輸的資料。在這些場景中,對 URL 進行編碼以確保正確表示特殊字元和空格至關重要。

編碼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);

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

解碼URL (練習)

解碼URL(練習)

如原始問題的答案中所提到的,實作URL解碼留給您當作練習。此函數將取得轉義的 URL 並將其轉換回原始格式。

範例用法

要對 URL 進行編碼,只需呼叫傳入輸入的 url_encode 函數即可string。 要解碼 URL,請實作解碼函數並使用轉義字串作為輸入來呼叫它。

以上是如何用 C 語言對 URL 進行編碼和解碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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