首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >白色空间的java.net.URLEncoder#encode

白色空间的java.net.URLEncoder#encode
EN

Stack Overflow用户
提问于 2015-07-24 13:39:22
回答 1查看 2.8K关注 0票数 1

java.net.URLEncoder将使用+编码单个空白。

代码语言:javascript
复制
scala> val encodedSpace = URLEncoder.encode(" ", "UTF-8")
encodedSpace: String = +

然而,根据这个W-3 文档,它不应该用%20编码吗?

EN

回答 1

Stack Overflow用户

发布于 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

这是默认的内容类型。与此内容类型一起提交的表单必须编码如下:

  1. 对控件名称和值进行转义。空格字符替换为+', and then reserved characters are escaped as described in [RFC1738], section 2.2: Non-alphanumeric characters are replaced by %HH‘、一个百分比符号和两个十六进制数字,表示字符的ASCII代码。换行符表示为"CR“对(即‘%0D%0A’)。
  2. 控件名称/值按它们在文档中出现的顺序列出。名称由=' and name/value pairs are separated from each other by&‘与值分隔。

您必须将它从+替换为%20。优先项是默认行为。

例如:

代码语言:javascript
复制
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/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31612065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档