使用URLDecoder.decode解析字符串含有"+","+"号这个特殊字符会被吃掉,转换成空格
2017-09-28 20:12
671 查看
实际使用情况是这样的:
我们在使用url的时候,一般从网络或是服务器得到的一个url地址一般都是经过encode编码过的(一般是使用URLEncoder.encode),或者是我们要给服务端传递url参数,直接使用的话,到服务端去解析的时候(应该服务端就是使用decode来解析的),那么原来没有经历过encode编码的字符串,比如za4T8MHB/6mhmYgXB7IntyyOUL7Cl++0jv5rFxAIFVji8GDrcf+k8g==
,直接通过服务度的decode解码后就会变成:
"za4T8MHB/6mhmYgXB7IntyyOUL7Cl 0jv5rFxAIFVji8GDrcf k8g=="
特殊符号"+"加消失了,正必然会出错.
所以我们在传递时,最好要encode一下.
如下是我在编码时出现的问题:
直接使用decode来解码我的字符串,结果+丢失,在后续使用的过程中产生了错误
所以,在decode前,最后encode一下:
字符串被正确编码
字符串被正确解码
我们在使用url的时候,一般从网络或是服务器得到的一个url地址一般都是经过encode编码过的(一般是使用URLEncoder.encode),或者是我们要给服务端传递url参数,直接使用的话,到服务端去解析的时候(应该服务端就是使用decode来解析的),那么原来没有经历过encode编码的字符串,比如za4T8MHB/6mhmYgXB7IntyyOUL7Cl++0jv5rFxAIFVji8GDrcf+k8g==
,直接通过服务度的decode解码后就会变成:
"za4T8MHB/6mhmYgXB7IntyyOUL7Cl 0jv5rFxAIFVji8GDrcf k8g=="
特殊符号"+"加消失了,正必然会出错.
所以我们在传递时,最好要encode一下.
如下是我在编码时出现的问题:
直接使用decode来解码我的字符串,结果+丢失,在后续使用的过程中产生了错误
所以,在decode前,最后encode一下:
字符串被正确编码
字符串被正确解码
相关文章推荐
- 在字符串中使用特殊字符<>"'&空格
- 在字符串中使用特殊字符<>"'&空格
- 字符串内特殊字符在html_javascript_xml等内使用时的转换 ,"缺少十六进制数字"错误的处理
- asp.net怎样在URL中使用中文、空格、特殊字符
- C# "125" 转换位“00000125” 左边使用固定字符补充为固定长度的字符串
- asp.net怎样在URL中使用中文、空格、特殊字符
- 解析url参数含有特殊字符的情况
- PHP使用trim函数去除字符串左右空格及特殊字符实例
- python 中输入一个字符串,判断这个字符串中有多少个字符、数字、空格、特殊字符
- asp.net怎样在URL中使用中文、空格、特殊字符
- asp.net怎样在URL中使用中文、空格、特殊字符
- asp.net怎样在URL中使用中文、空格、特殊字符
- PHP使用trim函数去除字符串左右空格及特殊字符实例
- http get 请求地址传中文或值带特殊符号解决方法 URLEncoder.encode(str,"编码") new URLDecoder().decode(str,"编码")
- asp.net怎样在URL中使用中文、空格、特殊字符
- asp.net怎样在URL中使用中文、空格、特殊字符
- JAVA将 带有空格或特殊字符的字符串转换成int数组的方法
- c++字符串解析方法(将空格、tab、";"分离出来)
- oracle 列别名 使用 双引号 特殊字符 区分 大小写 连接 运算符 字符串 || 双竖线
- sax解析内容中含有xml特殊字符转义实体的解决方案