使用URLDecoder.decode解析字符串含有"+","+"号这个特殊字符会被吃掉,转换成空格

实际使用情况是这样的:

我们在使用url的时候,一般从网络或是服务器得到的一个url地址一般都是经过encode编码过的(一般是使用URLEncoder.encode),或者是我们要给服务端传递url参数,直接使用的话,到服务端去解析的时候(应该服务端就是使用decode来解析的),那么原来没有经历过encode编码的字符串,比如za4T8MHB/6mhmYgXB7IntyyOUL7Cl++0jv5rFxAIFVji8GDrcf+k8g== ,直接通过服务度的decode解码后就会变成:

"za4T8MHB/6mhmYgXB7IntyyOUL7Cl  0jv5rFxAIFVji8GDrcf k8g=="

特殊符号"+"加消失了,正必然会出错.

所以我们在传递时,最好要encode一下.


如下是我在编码时出现的问题:

直接使用decode来解码我的字符串,结果+丢失,在后续使用的过程中产生了错误

使用URLDecoder.decode解析字符串含有

所以,在decode前,最后encode一下:

使用URLDecoder.decode解析字符串含有

字符串被正确编码

使用URLDecoder.decode解析字符串含有

字符串被正确解码

你可能感兴趣的:(基础知识)