Java中可以使用URLEncoder類(lèi)來(lái)實(shí)現(xiàn)URL編碼,URLDecoder類(lèi)來(lái)實(shí)現(xiàn)URL解碼。
URL編碼的作用是將URL中的特殊字符轉(zhuǎn)換為%xx的形式,其中xx是對(duì)應(yīng)字符的ASCII碼的16進(jìn)制表示。URL編碼的方法是使用URLEncoder.encode()方法:
String url = "http://example.com/path?query=Java 編碼";
String encodedUrl = URLEncoder.encode(url, "UTF-8");
上述代碼將字符串url編碼為UTF-8編碼的URL,編碼后的結(jié)果為:
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,解碼后的結(jié)果為:
http://example.com/path?query=Java 編碼
需要注意的是,URL編碼和解碼需要指定正確的字符編碼,否則會(huì)導(dǎo)致編碼或解碼錯(cuò)誤。常見(jiàn)的字符編碼包括UTF-8、GBK等。在實(shí)際應(yīng)用中,需要根據(jù)具體的需求選擇合適的字符編碼。