URLEncoder.encode() 和空格?

use*_*701 2 java urlencode

我的服务器上有一个名为:

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。正确的编码方式是什么?

Ric*_*iwi 5

http://www.permadi.com/tutorial/urlEncoding/

请注意,由于该字符非常常用,因此保留了一个特殊代码(“+”号)作为其 URL 编码。因此,字符串“A B”可以被 URL 编码为“A%20B”或“A+B”

但是,您的代码可能会失败,因为某些解析器/Web 服务器不能平等地处理基本 URL 部分 - 并且只能识别查询+ = space字符串部分