2008年12月9日

encode, decode URI

encodeURI, decodeURI, encodeURIComponent, decodeURIComponent

  1. 函式 encodeURI 將 制式來源識別名(Uniform Resource Identifier:URI)加以編碼,會將特定文字換成 UTF-8 的脫離序碼。其語法是:

    encodeURI(URI)

    右列字母不會編碼:英文字母 數字 - _ . ! ~ * ' ( ) ; , / ? : @ & = + $ #

    如果要將完整的 URI 編碼,就不需要將上列字母編碼。如果是 GET, POST 的要求(request)部分,則要用 encodeURIComponent 函式。

    • 程式用法:

      <script type='text/javascript'>
      document.write( encodeURI( '你好.html' ) );
      </script>

    • 執行結果:

      %E4%BD%A0%E5%A5%BD.html

  2. 函式 decodeURI 將 編碼的URI 加以解碼。其語法是:

    decodeURI( 編碼的URI )

    • 程式用法:

      <script type='text/javascript'>
      var a=encodeURI( '你好.html' );
      document.write( decodeURI( a ) );
      </script>

    • 執行結果:

      你好.html

  3. 函式 encodeURIComponent 將 URI 的分項加以編碼,會將特定文字換成 UTF-8 的脫離序碼。其語法是:

    encodeURIComponent(str)

    右列字母不會被轉換:英文字母 數字 - _ . ! ~ * ' ( )

    • 程式用法:

      <script type='text/javascript'>
      document.write( encodeURIComponent( '大家好' ) );
      </script>

    • 執行結果:

      %E5%A4%A7%E5%AE%B6%E5%A5%BD

  4. 函式 decodeURIComponent 將 編碼的URI 加以解碼。其語法是:

    decodeURIComponent( 編碼的URI )

    • 程式用法:

      <script type='text/javascript'>
      var a=encodeURIComponent( '蔡依林' );
      document.write( decodeURIComponent( a ) );
      </script>

    • 執行結果:

      蔡依林


©2008-2009 by ant2legs, All Rights Reserved. ant2legs 擁有其製作的文章,圖片與程式的著作權,所有權利保留。