編碼格式轉換–url編碼與解碼

來源:互聯網
上載者:User

大家都知道這種情況,當在 "baidu.com"中搜尋漢字,比如“老三”得到的url字串為:http://www.baidu.com/s?wd=%C0%CF%C8%FD&cl=3,顯然經過了編碼。這是怎麼回事呢?

因為有些符號在URL中是不能直接傳遞的,如果要在URL中傳遞這些特殊符號,那麼就要使用他們的編碼了。編碼的格式為:%加字元的ASCII碼,即一個百分比符號%,後面跟對應字元的ASCII(16進位)碼值。例如 空格的編碼值是"%20"。
下表中列出了一些URL特殊符號及編碼

      十六進位值
1. + URL 中+號表示空格 %2B
2. 空格 URL中的空格可以用+號或者編碼 %20
3. / 分隔目錄和子目錄 %2F
4. ? 分隔實際的 URL 和參數 %3F
5. % 指定特殊字元 %25
6. # 表示書籤 %23
7. & URL 中指定的參數間的分隔字元 %26
8. = URL 中指定參數的值 %3D

那麼我們怎麼編碼和解碼呢?請看下面的代碼:

       //首先加入System.Web引用。
       /// <summary>
       /// URL解碼
       /// </summary>
       /// <param name="source">待解碼字串</param>
       /// <param name="encode">待解碼字串編碼格式</param>
       /// <returns>解碼後的字串</returns>
       public static string UrlDeCode(string source, Encoding encode)
       {
           return System.Web.HttpUtility.UrlDecode(source,encode);
       }
       /// <summary>
       /// URL加密
       /// </summary>
       /// <param name="source">待加密字串</param>
       /// <param name="encode">待加密字串編碼格式</param>
       /// <returns>加密後的字串</returns>
       public static string UrlEnCode(string source, Encoding encode)
       {
          return System.Web.HttpUtility.UrlEncode(source,encode);
           
       }

老三編碼轉換小工具運行結果:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.