java.net.URLEncoder将使用+编码单个空白。
scala> val encodedSpace = URLEncoder.encode(" ", "UTF-8")
encodedSpace: String = +然而,根据这个W-3 文档,它不应该用%20编码吗?
发布于 2015-07-24 13:46:33
来自DOCS (http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4):
application/x-www-form-urlencoded
这是默认的内容类型。与此内容类型一起提交的表单必须编码如下:
+', and then reserved characters are escaped as described in [RFC1738], section 2.2: Non-alphanumeric characters are replaced by %HH‘、一个百分比符号和两个十六进制数字,表示字符的ASCII代码。换行符表示为"CR“对(即‘%0D%0A’)。=' and name/value pairs are separated from each other by&‘与值分隔。您必须将它从+替换为%20。优先项是默认行为。
例如:
System.out.println(java.net.URLEncoder.encode(" ", "UTF-8").replace("+", "%20"));以上是应用程序/x-www-表单-urlencoded的典型案例。
摘要:
multipart/form-data使用MIME encoding。
application/x-www-form-urlencoded使用+。
Properly encoded URIs使用%20。
获得提交:
http://www.bing.com/search?q=hello+world
名称中有空格的资源。
http://camera.phor.net/cameralife/folders/2012/2012-06%20Pool%20party/
https://stackoverflow.com/questions/31612065
复制相似问题