URLトランスコード


encodeURI:


URLコード
$("#result").val(encodeURI($("#source").val()));

URLデコード
$("#result").val(decodeURI($("#source").val()));

encodeURIComponent:


URLコード
$("#result").val(encodeURIComponent($("#source").val()));

URLデコード
$("#result").val(decodeURIComponent($("#source").val()));

説明

  • encodeURI()この方法はASCIIアルファベットと数字を符号化しないし、これらのASCII句読点を符号化しない:-.!~*’( ) . この方法の目的はURIを完全に符号化することであるので,以下のURIに特殊な意味を持つASCII句読点に対してencodeURI()関数はエスケープされない:;/?:@&=+$,#
  • encodeURIComponent()この方法はASCIIアルファベットと数字を符号化しないし、これらのASCII句読点を符号化しない:-.!~*’( ) . 他の文字(例:;/?:@&=+$、#URIコンポーネントを区切るための句読点)は、1つ以上の16進数のエスケープシーケンスによって置き換えられます.

  • ヒントとコメント

  • URIコンポーネントに区切り記号が含まれている場合、たとえば?および#は、encodeURIComponent()メソッドを使用して、各コンポーネントをそれぞれ符号化する必要があります.
  • encodeURIComponent()関数とencodeURI()関数の違いに注意してください.前者は、そのパラメータがURIの一部(プロトコル、ホスト名、パス、クエリー文字列など)であると仮定します.したがって、encodeURIComponent()関数は、URIの各部分を区切る句読点に変換される.

  • ≪インスタンス|Instance|emdw≫

    <script type="text/javascript"> document.write(encodeURIComponent("http://www.w3school.com.cn")+ "<br />") document.write(encodeURIComponent("http://www.w3school.com.cn/p 1/")+ "<br />") document.write(encodeURIComponent(",/?:@&=+$#")+ "<br />") document.write(encodeURI("http://www.w3school.com.cn")+ "<br />") document.write(encodeURI("http://www.w3school.com.cn/My first/")+ "<br />") document.write(encodeURI(",/?:@&=+$#")+ "<br />") </script>

    出力:
    http%3A%2F%2Fwww.w3school.com.cn
    http%3A%2F%2Fwww.w3school.com.cn%2Fp%201%2F
    %2C%2F%3F%3A%40%26%3D%2B%24%23
    
    http://www.w3school.com.cn
    http://www.w3school.com.cn/My%20first/
    ,/?:@&=+$#