我试图从一个java.net.URI对象String。该字符串包含一些字符,需要用其百分比转义序列替换。但是,当我使用URLEncoder以UTF-8编码对String进行编码时,即使将/替换为其转义序列。
java.net.URI
String
如何从String对象获取有效的编码URL?
http://www.google.com?q=a b给出 **http%3A%2F%2www.google.com …, 而我希望输出为 http://www.google.com?q=a% 20b**
有人可以告诉我如何实现这一目标。
我正在尝试在Android应用程序中执行此操作。因此,我可以访问数量有限的库。
您可以尝试:org.apache.commons.httpclient.util.URIUtil.encodeQuery在Apache commons-httpclient项目中
org.apache.commons.httpclient.util.URIUtil.encodeQuery
这样(请参阅URIUtil):
URIUtil.encodeQuery("http://www.google.com?q=a b")
会变成:
http://www.google.com?q=a%20b
您当然可以自己做,但是URI解析会变得非常混乱。