這兩種是我在debug時用到的寫法
解密
1. HttpUtility.UrlDecode("字串或變數", System.Text.Encoding.GetEncoding("big5"));
2. Sever,UrlDecode("URL")
加密
1.HttpUtility.Encode("字串或變數", System.Text.Encoding.GetEncoding("big5"))
2. Sever,UrlDecode("URL")
需要注意的几点(兩者差異如下):
1、HttpUtility.UrlEncode,HttpUtility.UrlDecode是静态方法,而Server.UrlEncode,Server.UrlDecode是实例方法。
2、Server是HttpServerUtility类的实例,是System.Web.UI.Page的属性。
3、用HttpUtility.UrlEncode编码后的字符串和用Server.UrlEncode进行编码后的字符串对象不一样
HttpUtility.UrlEncode是默認的(預設值)按照.net的utf-8格式進行編碼的
Server.UrlEncode的編碼方式是按照本地程式設置的編碼方式進行編碼的
以下是常見的加解密方法
- HttpUtility.UrlEncode
URL 編碼方式會將 URL 中不允許的字元轉換為相等的字元實體。 - HttpUtility.UrlDecode
剛好是 UrlEncode 的相反,將透過 UrlEncode 過的字串解碼成原本的字串。 - HttpUtility.UrlEncodeUnicode
等於 JavaScript 的 escape() 方法,用 %uXXXX 的方式表達。 - HttpUtility.UrlPathEncode
HttpUtility.UrlPathEncode 方法不會對下列字元進行編碼:":"、"/"、";"、"?" 以及任何可見的 ASCII 字元都不會被編碼,另外網址中的 QueryString (網址中 ? 之後的所有字元) 也都不會被編碼。
這方法通常用於對網址中「目錄名稱」與「檔名」編碼! - HttpUtility.HtmlEncode
將 HTML 文件中不允許出現的字元進行編碼,通常會編碼 "<"、">"、"&" 等字元。 - HttpUtility.HtmlDecode
剛好是 HtmlEncode 的相反,將透過 HtmlEncode 過的字串解碼成原本的字串。
JavaScript 相關的 UrlEncode 與 HtmlEncode 函數
- escape
會以 Unicode 方式進行編碼,用 %uXXXX 的方式呈現編碼的格式。
所有的空格、標點符號、重音字元以及其他非 ASCII 字元均以 %xx 編碼取代,其中的 xx 就等於表示該字元的十六進位數字。
值大於 255 的字元,則以 %uxxxx 格式儲存。
與 encodeURI、encodeURIComponent 不相容 - unescape
將透過 escape 函數編碼過的字串解碼。 - encodeURI
encodeURI 方法不會對下列字元進行編碼:":"、"/"、";"、"?"、"="、"&"。
這個函數的目的在於將一個現有的網址,對各個不同的片段進行編碼,讓現有的網址更加標準化。 - decodeURI
將透過 encodeURI 函數編碼過的字串解碼。
有些是網路上擷取下來或者是某些書上的資料
若有問題請再告知我