使用URLEncoder、URLDecoder进行URL参数的转码与解码
url后参数的转码与解码
import java.net.URLDecoder; import java.net.URLEncoder;
String strTest = "?=abc?中%1&2<3,4>"; strTest = URLEncoder.encode(strTest, "UTF-8"); System.out.println(strTest); strTest = URLDecoder.decode(strTest,"UTF-8"); System.out.println(strTest);
执行结果:
%3F%3Dabc%3F%E4%B8%AD%251%262%3C3%2C4%3E ?=abc?中%1&2<3,4>
jdk相关说明:
String java.net.URLEncoder.encode(String s, String enc) throws UnsupportedEncodingException Translates a string into application/x-www-form-urlencoded format using a specific encoding scheme. This method uses the supplied encoding scheme to obtain the bytes for unsafe characters. Note: The World Wide Web Consortium Recommendation states that UTF-8 should be used. Not doing so may introduce incompatibilites. Parameters: s String to be translated. enc The name of a supported character encoding. Returns: the translated String. Throws: UnsupportedEncodingException - If the named encoding is not supported Since: 1.4 See Also: URLDecoder.decode(java.lang.String, java.lang.String) String java.net.URLDecoder.decode(String s, String enc) throws UnsupportedEncodingException Decodes a application/x-www-form-urlencoded string using a specific encoding scheme. The supplied encoding is used to determine what characters are represented by any consecutive sequences of the form "%xy". Note: The World Wide Web Consortium Recommendation states that UTF-8 should be used. Not doing so may introduce incompatibilites. Parameters: s the String to decode enc The name of a supported character encoding. Returns: the newly decoded String Throws: UnsupportedEncodingException - If character encoding needs to be consulted, but named character encoding is not supported Since: 1.4 See Also: URLEncoder.encode(java.lang.String, java.lang.String)