ホームページ > バックエンド開発 > C++ > C で URL を堅牢にエンコードおよびデコードするにはどうすればよいですか?

C で URL を堅牢にエンコードおよびデコードするにはどうすればよいですか?

DDD
リリース: 2024-12-04 08:48:12
オリジナル
722 人が閲覧しました

How to Robustly Encode and Decode URLs in C  ?

C での URL のエンコードとデコード

質問:

C での URL のエンコードとデコード。利用可能な堅牢なコードはありますか?

回答:

エンコーディング:

URL エンコーディングの問題を解決するには、カスタムC 関数は C サンプルに基づいて開発されました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();
}
ログイン後にコピー

デコード:

デコード関数の実装はオプションの演習です。

以上がC で URL を堅牢にエンコードおよびデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート