C での URL のエンコードとデコード
多くのアプリケーションは、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_encode 関数を呼び出すだけです。 string.
URL をデコードするには、デコード関数を実装し、エスケープされた文字列を入力として呼び出します。
以上がC で URL をエンコードおよびデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。