为什么 apache-commons lib 编码空间为 +不是%20?
我正在使用来自 Apache Commons Codec 对 URL 进行编码,但它将空格编码为 +
而不是 %20
为什么?解决办法是什么?
i'm using URLCodec
from Apache Commons Codec to encode URL, but it encode space as +
NOT as %20
why? and what is the solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
查看此相关问题
当然,您如果需要的话,可以随时执行
url.replace("+", "%20");
(编码后)See this related question
Of course, you can always do
url.replace("+", "%20");
if you need it (after encoding)因为
+
是一种同样有效的空格编码方式。你想“解决”什么?Because
+
is an equally valid way of encoding a space. What are you trying to "solve"?URLCodec 对适合提交表单的内容进行编码,这与对 URL 进行百分比编码不同。 这个问题中有更多解释,
请参阅这个问题告诉你应该如何编码你的URL。
The URLCodec encodes stuff suitable a submitted form, which is not the same as percent encoding a URL. There's more explanation in this question
See this question for how you should encode your URL.