我希望将字符串编码为网址,但URLEncoder.encode()
无法做到这一点:
URLEncoder.encode("http://www.example.com/1/hello world", "utf8")
将导致
http%3A%2F%2Fwww.example.com%2F1%2Fhello+world
我希望得到的是:
http://www.example.com/1/hello+world
不对/
和:
字符进行编码。
修改
这只是一个简单的例子,实际上我在网址中有很多非ascii字符。
答案 0 :(得分:0)
您可以将“%3A”转换为“:”并在编码后将“%2F”转换为“/”。例如:
String ret = URLEncoder.encode("http://www.example.com/1/hello world", "utf8");
String ret2 = ret.replace("%3A", ":").replace("%2F", "/");
ret2就是你想要的......