我的服务器上有一个名为:
some image.png
Run Code Online (Sandbox Code Playgroud)
名字里有一个空格。当我在浏览器(chrome)中输入 url 时,它会将空格转换为 %20:
some%20.png
Run Code Online (Sandbox Code Playgroud)
当我从应用程序中使用 URLEncoder.encode("some image.png") 时,我得到:
some+image.png
Run Code Online (Sandbox Code Playgroud)
这会导致 404。正确的编码方式是什么?
http://www.permadi.com/tutorial/urlEncoding/
请注意,由于该字符非常常用,因此保留了一个特殊代码(“+”号)作为其 URL 编码。因此,字符串“A B”可以被 URL 编码为“A%20B”或“A+B”
但是,您的代码可能会失败,因为某些解析器/Web 服务器不能平等地处理基本 URL 部分 - 并且只能识别查询+ = space字符串部分