Java中可以使用URLEncoder类来实现URL编码,URLDecoder类来实现URL解码。
URL编码的作用是将URL中的特殊字符转换为%xx的形式,其中xx是对应字符的ASCII码的16进制表示。URL编码的方法是使用URLEncoder.encode()方法:
String url = "http://example.com/path?query=Java 编码";
String encodedUrl = URLEncoder.encode(url, "UTF-8");
上述代码将字符串url编码为UTF-8编码的URL,编码后的结果为:
http%3A%2F%2Fexample.com%2Fpath%3Fquery%3DJava+%E7%BC%96%E7%A0%81
URL解码的作用是将编码后的URL还原为原始的URL。URL解码的方法是使用URLDecoder.decode()方法:
String encodedUrl = "http%3A%2F%2Fexample.com%2Fpath%3Fquery%3DJava+%E7%BC%96%E7%A0%81";
String url = URLDecoder.decode(encodedUrl, "UTF-8");
上述代码将编码后的字符串encodedUrl解码为UTF-8编码的URL,解码后的结果为:
http://example.com/path?query=Java 编码
需要注意的是,URL编码和解码需要指定正确的字符编码,否则会导致编码或解码错误。常见的字符编码包括UTF-8、GBK等。在实际应用中,需要根据具体的需求选择合适的字符编码。