关于URLEncode时+号的问题

十年热恋 提交于 2019-11-30 18:46:53
关于URLEncode和URLDecode


get方法
浏览器会先把空格变成%20 而+号还保留
然后接收到请求之后decode的时候,
        case '+':
                sb.append(' ');
                i++;
                needToChange = true;
                break;
会把+号变成空格,
然后这个字符串中原来的空格(%20)解码之后还是空格
所以导致get方法发送的时候会没有+号


post方法
选择x-www-form-urlencoded的方式发送
这时候会把+号变成%2B  空格变成+,
if (c == ' ') {
                    c = '+';
                    needToChange = true;
                }
然后decode的时候把+号变成空格了,%2B解码成+。


所以来说,post方式直接用URLEncode加密解密是没有问题的
get方式的话就要注意+号了
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!