一尘不染

Java-将字符串转换为有效的URI对象

java

我试图从一个java.net.URI对象String。该字符串包含一些字符,需要用其百分比转义序列替换。但是,当我使用URLEncoder以UTF-8编码对String进行编码时,即使将/替换为其转义序列。

如何从String对象获取有效的编码URL?

http://www.google.com?q=a b给出
**http%3A%2F%2www.google.com …, 而我希望输出为 http://www.google.com?q=a%
20b**

有人可以告诉我如何实现这一目标。

我正在尝试在Android应用程序中执行此操作。因此,我可以访问数量有限的库。


阅读 560

收藏
2020-09-08

共1个答案

一尘不染

您可以尝试:org.apache.commons.httpclient.util.URIUtil.encodeQueryApache
commons-httpclient
项目中

这样(请参阅URIUtil):

URIUtil.encodeQuery("http://www.google.com?q=a b")

会变成:

http://www.google.com?q=a%20b

您当然可以自己做,但是URI解析会变得非常混乱。

2020-09-08