我想以正确的方式替换像“”(空格)这样的特殊字符(在空格的情况下为 %20)对 URL 进行编码。我在网上找到的任何解决方案都没有按预期工作。
我尝试使用 apache commons:
import org.apache.commons.lang.StringEscapeUtils;
public class MyTest {
public static void main(String[] args) {
String bla="http://www.bla.com/bla.php?par1=bla bla bla";
System.out.println(StringEscapeUtils.escapeHtml(bla));
}
}
但它返回:
http://www.bla.com/bla.php?par1=bla bla bla
我尝试使用 java.net.URL:
import java.net.MalformedURLException;
import java.net.URL;
public class MyTest {
public static void main(String[] args) throws MalformedURLException {
String bla="http://www.bla.com/bla.php?par1=bla bla bla";
URL url = new URL(bla);
System.out.println(url);
}
}
但它返回:
http://www.bla.com/bla.php?par1=bla bla bla
我希望:
http://www.bla.com/bla.php?par1=bla%20bla%20bla
有没有办法做到这一点?