2014年3月26日 星期三

UrlEncode & UrlDecode in ASP.NET

From : http://www.dotblogs.com.tw/alonstar/archive/2010/01/04/12778.aspx


前陣子還看到蠻常有人在問這二個問題的,結果發現自己習慣用的和別人不太一樣:我比較常用Server.UrlEncode,不過有些人習慣的是HttpUtility.UrlEncode;這二個差別可以從程式碼看得出來…
HttpServerUtility的預設編碼模式是從Response截取,而HttpUtility則是預設UTF8,我們通常都用UTF8編碼,所以沒什麼差;如果不是利用UTF8編碼的時候,使用上就要小心一點。
01//Server.UrlEncode
02public sealed class HttpServerUtility
03{
04 
05    public string UrlEncode(string s)
06    {
07        Encoding e = (this._context != null) ? this._context.Response.ContentEncoding : Encoding.UTF8;
08        return HttpUtility.UrlEncode(s, e);
09    }
10 
11    public string UrlDecode(string s)
12    {
13        Encoding e = (this._context != null) ? this._context.Request.ContentEncoding : Encoding.UTF8;
14        return HttpUtility.UrlDecode(s, e);
15    }
16 
17}
18 
19//HttpUtility.UrlEncode
20public sealed class HttpUtility
21{
22    public static string UrlEncode(string str)
23    {
24        if (str == null)
25        {
26            return null;
27        }
28        return UrlEncode(str, Encoding.UTF8);
29    }
30     
31    public static string UrlDecode(string str)
32    {
33        if (str == null)
34        {
35            return null;
36        }
37        return UrlDecode(str, Encoding.UTF8);
38    }
39  
40}

0 意見:

張貼留言

 

MangoHost Copyright © 2009 Cookiez is Designed by Ipietoon for Free Blogger Template