地址中如果含有"+",发给服务器时"+"变成了空格问题解析

如地址为sms:+7 915 444-414-444,含有空格。

服务器解码 URLDecoder.decode("sms:+7 915 444-414-444"),返回的是sms: 7 915 444-414-444。

在decode之前先编码,问题解决。

String url="sms:+7 915 444-414-444";

url=URLEncoder.encode(url);

url=URLDecoder.decode(url);返回的是sms:+7 915 444-414-444

为啥会出现这种情况呢,可以看下编码后的字符串是啥样的

String url="sms:+7 915 444-414-444";

url=URLEncoder.encode(url);返回的是sms%3A%2B7+915+444-414-444

说明加号被编成了%2B,空格被编成了"+";

所以带加号的直接解码,就会变成空格。

 

posted on 2019-08-23 11:50  只挣朝夕  阅读(743)  评论(0编辑  收藏  举报