有没有人知道有什么好的C++代码可以做到这一点?
发布于 2013-07-18 03:40:36
前几天,我遇到了这个问题的一半编码问题。对可用的选项不满意,在看了this C sample code之后,我决定推出我自己的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();
}
解码功能的实现留给读者作为练习。:P
发布于 2008-09-30 19:41:49
发布于 2011-01-28 08:52:06
string urlDecode(string &SRC) {
string ret;
char ch;
int i, ii;
for (i=0; i<SRC.length(); i++) {
if (int(SRC[i])==37) {
sscanf(SRC.substr(i+1,2).c_str(), "%x", &ii);
ch=static_cast<char>(ii);
ret+=ch;
i=i+2;
} else {
ret+=SRC[i];
}
}
return (ret);
}
不是最好的,但工作得很好;-)
https://stackoverflow.com/questions/154536
复制相似问题