在C++中对加号进行URL编码,可以使用urlencode
函数来处理。下面是一个示例代码:
#include
#include
#include
std::string urlencode(const std::string &s) {
std::ostringstream escaped;
escaped.fill('0');
escaped << std::hex;
for (std::string::const_iterator i = s.begin(), n = s.end(); i != n; ++i) {
std::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 << std::uppercase;
escaped << '%' << std::setw(2) << int((unsigned char) c);
escaped << std::nouppercase;
}
return escaped.str();
}
int main() {
std::string input = "Hello+World";
std::string output = urlencode(input);
std::cout << "Encoded string: " << output << std::endl;
return 0;
}
在上面的代码中,urlencode
函数将输入字符串中的加号(+
)以及其他非字母数字字符进行URL编码,并返回编码后的字符串。您可以将需要进行URL编码的字符串传入urlencode
函数中,即可获取编码后的结果。