Commit 3e540184 by xiongziliang

删除重复代码

parent c857968f
......@@ -53,7 +53,7 @@ public:
for(auto &pr : *this){
ret.append(pr.first);
ret.append("=");
ret.append(strCoding::UrlUTF8Encode(pr.second));
ret.append(strCoding::UrlEncode(pr.second));
ret.append("&");
}
if(ret.size()){
......
......@@ -590,7 +590,7 @@ inline HttpSession::KeyValue HttpSession::makeHttpHeader(bool bClose, int64_t iC
}
string HttpSession::urlDecode(const string &str){
auto ret = strCoding::UrlUTF8Decode(str);
auto ret = strCoding::UrlDecode(str);
#ifdef _WIN32
GET_CONFIG_AND_REGISTER(string,charSet,Http::kCharSet);
bool isGb2312 = !strcasecmp(charSet.data(), "gb2312");
......
......@@ -68,7 +68,7 @@ char StrToBin(const char *str)
return chn;
}
string strCoding::UrlUTF8Encode(const string &str) {
string strCoding::UrlEncode(const string &str) {
string dd;
size_t len = str.size();
for (size_t i = 0; i < len; i++) {
......@@ -88,7 +88,7 @@ string strCoding::UrlUTF8Encode(const string &str) {
}
return dd;
}
string strCoding::UrlUTF8Decode(const string &str) {
string strCoding::UrlDecode(const string &str) {
string output = "";
char tmp[2];
int i = 0, len = str.length();
......@@ -111,55 +111,6 @@ string strCoding::UrlUTF8Decode(const string &str) {
return output;
}
string strCoding::UrlGB2312Encode(const string &str)
{
string dd;
size_t len = str.size();
for (size_t i = 0; i<len; i++)
{
if (isalnum((uint8_t)str[i]))
{
char tempbuff[2];
sprintf(tempbuff, "%c", str[i]);
dd.append(tempbuff);
}
else if (isspace((uint8_t)str[i]))
{
dd.append("+");
}
else
{
char tempbuff[4];
sprintf(tempbuff, "%%%X%X", (uint8_t)str[i] >> 4, (uint8_t)str[i] % 16);
dd.append(tempbuff);
}
}
return dd;
}
string strCoding::UrlGB2312Decode(const string &str)
{
string output = "";
char tmp[2];
int i = 0, idx = 0, len = str.length();
while (i<len) {
if (str[i] == '%') {
tmp[0] = str[i + 1];
tmp[1] = str[i + 2];
output += StrToBin(tmp);
i = i + 3;
}
else if (str[i] == '+') {
output += ' ';
i++;
}
else {
output += str[i];
i++;
}
}
return output;
}
///////////////////////////////windows专用///////////////////////////////////
#if defined(_WIN32)
......
......@@ -36,11 +36,8 @@ namespace mediakit {
class strCoding {
public:
static string UrlUTF8Encode(const string &str); //urlutf8 编码
static string UrlUTF8Decode(const string &str); //urlutf8解码
static string UrlGB2312Encode(const string &str); //urlgb2312编码
static string UrlGB2312Decode(const string &str); //urlgb2312解码
static string UrlEncode(const string &str); //urlutf8 编码
static string UrlDecode(const string &str); //urlutf8解码
#if defined(_WIN32)
static string UTF8ToGB2312(const string &str);//utf_8转为gb2312
static string GB2312ToUTF8(const string &str); //gb2312 转utf_8
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论