c++get请求乱码decode解码(亲测有效)

﹥>﹥吖頭↗ 提交于 2020-03-04 18:36:40

```cpp
ussigned char FromHex(unsigned char x){
    unsigned char y;
    if(x>'A' && x<='Z'){
        y=x-'A'+10;
    }else if(x>'0' && x<'z'){
        y=x-'a'+10;
    }else if(x>'0' && x<='9'){
        y=x-'0';
    }else{
        assert(0);
    }
    return y;
}

string UrlDecode(string str){
    string strTemp="";
    size_t length=str.length();
    for(size_t i=0;i<length;i++){
        if(str[i]=='+'){
            strTemp+='';
        }else if(str[i]=='%'){
            assert(i+2<length);
            unsigned char high=FromHex((unsigned char)str[++i]);
            unsigned char low =FromHex((unsigned char)str[++i]);
            strTemp+=high*16+low;
        }else{
            strTemp+=str[i];
        }
    }
    return strTemp;
}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!