该java.net.URI中的类可以帮助; 在你找到的URL文档中
注意,URI类在某些情况下确实对其组件字段进行转义。建议的管理URL编码和解码的方法是使用URI
使用具有多个参数的构造函数之一,例如:
URI uri = new URI( "http", "search.barnesandnoble.com", "/booksearch/first book.pdf", null);URL url = uri.toURL();//or String request = uri.toString();
(URI的单参数构造函数不会转义非法字符)
上面的代码仅对非法字符进行转义-不会对非ASCII字符进行转义(请参见fatih的注释)。
该toASCIIString方法可用于仅获取具有US-ASCII字符的字符串:
URI uri = new URI( "http", "search.barnesandnoble.com", "/booksearch/é", null);String request = uri.toASCIIString();
对于查询类似的
URL http://www.google.com/ig/api?weather=São Paulo,请使用构造函数的5参数版本:
URI uri = new URI( "http", "www.google.com", "/ig/api", "weather=São Paulo", null);String request = uri.toASCIIString();



