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等。在實際應用中,需要根據具體的需求選擇合適的字符編碼。