url符号化と復号化
2898 ワード
0-9[a-Z] $ - _ . + ! * ' ( )
、および
のみが、符号化されずにURLに直接使用できます.JAva対url符号化/復号
エンコーディング
デコード
説明
URLEncoder.encode( url, )
URLDecoder.decode( url, )
public static void main(String[] args) throws UnsupportedEncodingException {
//
String decodeStr = "http://www.baidu.com?param= ";
//
String encodeStr = "http%3A%2F%2Fwww.baidu.com%3Fparam%3D%E6%B5%8B%E8%AF%95";
//java
String encode = URLEncoder.encode(decodeStr, "utf-8");
System.out.println(encode);// :http%3A%2F%2Fwww.baidu.com%3Fparam%3D%E6%B5%8B%E8%AF%95
System.out.println(encode.equals(encodeStr));// :true
System.out.println("-------------");
//java
String decode = URLDecoder.decode(encodeStr, "utf-8");
System.out.println(decode);// :http://www.baidu.com?param=
System.out.println(decode.equals(decodeStr));// :true
}
js対url符号化/復号
エンコーディング
デコード
説明
escape( url)
unescape( url)
関数の表示時間:javascript 1.0
encodeURI( url)
decodeURI( url)
関数の表示時間:javascript 1.5
encodeURIComponent( url)
decodeURIComponent( url)
関数の表示時間:javascript 1.5
escape
unescape
encodeURI
decodeURI
encodeURIComponent
decodeURIComponent
// url
var oriUrl = "http://www.baidu.com?param= ";
//js
var escapeUrl = escape(oriUrl);
var encodeUrl = encodeURI(oriUrl);
var encodeComponentUrl = encodeURIComponent(oriUrl);
//
console.log(escapeUrl);// :http%3A//www.baidu.com%3Fparam%3D%u6D4B%u8BD5
console.log(encodeUrl);// :http://www.baidu.com?param=%E6%B5%8B%E8%AF%95
console.log(encodeComponentUrl);// :http%3A%2F%2Fwww.baidu.com%3Fparam%3D%E6%B5%8B%E8%AF%95
console.log("-------");
//
console.log(unescape(escapeUrl));// :http://www.baidu.com?param=
console.log(decodeURI(encodeUrl));// :http://www.baidu.com?param=
console.log(decodeURIComponent(encodeComponentUrl));// :http://www.baidu.com?param=