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.0encodeURI( url) decodeURI( url)
    関数の表示時間:javascript 1.5encodeURIComponent( url) decodeURIComponent( url)
    関数の表示時間:javascript 1.5
  • escape
  • ISO Latin文字セットを用いて指定する文字列を符号化する
  • .
  • 対ASCIIアルファベット、数字、句読点@*+-.その他の文字を符号化する
  • 復号使用unescape
  • encodeURI
  • URI文字列をUTF-8符号化フォーマットでescapeフォーマットに変換する文字列
  • は、有効な統合リソース識別子(URI)として符号化された文字列を返し、符号化されない文字:!@#$&*( ) = :/; ? + '
  • 復号使用decodeURI
  • encodeURIComponent
  • URI文字列をURF-8符号化形式でescape形式の文字列に変換し、encodeURIに比べて、この関数は「/」などの文字
  • などのより多くの文字を符号化する.
  • URLのコンポーネントを個別に符号化し、URL全体を符号化するのではなく、この方法で符号化されない文字:!*( )
  • 復号使用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=