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_encode 函数即可string。
要解码 URL,请实现解码函数并使用转义字符串作为输入调用它。
以上是如何用 C 语言对 URL 进行编码和解码?的详细内容。更多信息请关注PHP中文网其他相关文章!