| 正在研究一個程序,輸入一個關(guān)鍵字,能夠把這個關(guān)鍵字發(fā)送到Google,yahoo等搜索引擎,進行搜索,然后打開結(jié)果網(wǎng)頁。原理很簡單。比如在Google搜索China,搜索結(jié)果頁面的URL就是“http://www.google.com/search?hl=zh-CN& q=China&lr=”。只要替換紅顏色的內(nèi)容,就可以按照不同的關(guān)鍵字搜索。 但是如果關(guān)鍵字是中文,就會出現(xiàn)問題。比如在google搜索“中國”,Url是“http://www.google.com /search?hl=zh-CN&newwindow=1&q=%E4%B8%AD%E5%9B%BD&lr=”。漢字“中 國”被按照UTF-8的格式進行編碼。 不僅漢字進行編碼,一些特殊字符也會進行編碼。比如搜索“C#”,URL是“http://www.google.com/search?hl=zh-CN&newwindow=1&q=C%23&lr=”。 一般來說,國外的網(wǎng)站都是按照UTF-8編碼,而“百度”是按照“GB2312”進行編碼的。比如搜索“中國”,URL是“http://www.baidu.com/s?wd=%D6%D0%B9%FA&cl=3” 我們對比一下:C#中國的編碼 編碼 結(jié)果 網(wǎng)站 UTF-8 C%23%E4%B8%AD%E5%9B%BD Google
 GB2312 C%23%D6%D0%B9%FA BaiDu
 總結(jié): UTF-8中,一個漢字對應(yīng)三個字節(jié),GB2312中一個漢字占用兩個字節(jié)。
 不論何種編碼,字母數(shù)字都不編碼,特殊符號編碼后占用一個字節(jié)。
 //按照UTF-8進行編碼 string tempSearchString1 = System.Web.HttpUtility.UrlEncode("C#中國");
 //按照GB2312進行編碼
 string tempSearchString2 = System.Web.HttpUtility.UrlEncode("C#中國",System.Text.Encoding.GetEncoding("GB2312"));
 //-------------------------------------------------------------------------------------------------------------- 【轉(zhuǎn)】ASP.NET中c#的URL編碼處理 要解決的問題:
 將下面的URL作為一個參數(shù)傳到其他的頁面
 1 http://domain/de.apx?uid=12&page=15
 2 url后面的參數(shù)中出現(xiàn)漢字等,如: ....aspx?title=起重機
 在出現(xiàn)上面的情況的時候,必須經(jīng)過一個RUL編碼和解碼的過程,否則會出現(xiàn)錯誤.
 代碼如下:
 //傳值
 string temp = " <a href='Add.aspx?url=" +Server.UrlEncode(? skin.Page.Request.Url.AbsoluteUri )+ "&title=" +Server.UrlEncode(? skin.Page.Header.Title )+ "'>添加到收藏夾</a>");
 //在另外一個文件中取從上面?zhèn)鞯闹?br /> if (Request.QueryString["url"] != null){
 ???? string url = Server.UrlDecode(Request.QueryString["url"].ToString());
 ???? this.txtAddress.Text = url;
 }
 if (Request.QueryString["title"] != null)
 {
 ???? string title = Server.UrlDecode(Request.QueryString["title"].ToString());
 ???? this.txtTitle.Text = title;
 }
 //----------------------------------------------- URL編碼對照表 1、string s = System.Web.HttpUtility(byte[] data); 這里的s即為轉(zhuǎn)換出來的URL編碼,需要注意的是這里的byte數(shù)組必須是具有ASCII意義的數(shù)組,由string通過System.Text.Encoding.Default.getBytes(str.ToCharArray());是不正確的,不能正確轉(zhuǎn)義! 2、根據(jù)URL編碼規(guī)則寫個小程序 ******* string UrlEncode(byte[] byt){???
 ????? string desstr = "";???
 ????? for(int i=0; i<byt.Length;i++)???
 ????? {???
 ?????? desstr += "%";???
 ?????? desstr += byt[i].ToString("X2");???
 ????? }
 ????? return desstr;
 }
 以下是URL編碼對照表: backspace %08 tab??????? %09
 linefeed %0A
 creturn??? %0D
 space????? %20
 !????????? %21
 "????????? %22
 #????????? %23
 $????????? %24
 %????????? %25
 &?????????? %26
 '????????? %27
 (????????? %28
 )????????? %29
 *????????? %2A
 +????????? %2B
 ,????????? %2C
 -????????? %2D
 .????????? %2E
 /????????? %2F
 0????????? %30
 1????????? %31
 2????????? %32
 3????????? %33
 4????????? %34
 5????????? %35
 6????????? %36
 7????????? %37
 8????????? %38
 9????????? %39
 :????????? %3A
 ;????????? %3B
 <?????????? %3C
 =????????? %3D
 >?????????? %3E
 ?????????? %3F
 @????????? %40
 A????????? %41
 B????????? %42
 C????????? %43
 D????????? %44
 E????????? %45
 F????????? %46
 G????????? %47
 H????????? %48
 I????????? %49
 J????????? %4A
 K????????? %4B
 L????????? %4C
 M????????? %4D
 N????????? %4E
 O????????? %4F
 P????????? %50
 Q????????? %51
 R????????? %52
 S????????? %53
 T????????? %54
 U????????? %55
 V????????? %56
 W????????? %57
 X????????? %58
 Y????????? %59
 Z????????? %5A
 [????????? %5B
 \????????? %5C
 ]????????? %5D
 ^????????? %5E
 _????????? %5F
 `????????? %60
 a????????? %61
 b????????? %62
 c????????? %63
 d????????? %64
 e????????? %65
 f????????? %66
 g????????? %67
 h????????? %68
 i????????? %69
 j????????? %6A
 k????????? %6B
 l????????? %6C
 m????????? %6D
 n????????? %6E
 o????????? %6F
 p????????? %70
 q????????? %71
 r????????? %72
 s????????? %73
 t????????? %74
 u????????? %75
 v????????? %76
 w????????? %77
 x????????? %78
 y????????? %79
 z????????? %7A
 {????????? %7B
 |????????? %7C
 }????????? %7D
 ~????????? %7E
 ¢????????? %A2
 £????????? %A3
 ¥????????? %A5
 |????????? %A6
 §????????? %A7
 ?????????? %AB
 ?????????? %AC
 ˉ????????? %AD
 o????????? %B0
 ±????????? %B1
 a????????? %B2
 ,????????? %B4
 μ????????? %B5
 ?????????? %BB
 ?????????? %BC
 ?????????? %BD
 ?????????? %BF
 A`????????? %C0
 A′????????? %C1
 A^????????? %C2
 A~????????? %C3
 A¨????????? %C4
 A°????????? %C5
 ?????????? %C6
 C?????????? %C7
 E`????????? %C8
 E′????????? %C9
 E^????????? %CA
 E¨????????? %CB
 I`????????? %CC
 I′????????? %CD
 I^????????? %CE
 I¨????????? %CF
 D????????? %D0
 N~????????? %D1
 O`????????? %D2
 O′????????? %D3
 O^????????? %D4
 O~????????? %D5
 O¨????????? %D6
 ?????????? %D8
 U`????????? %D9
 U′????????? %DA
 U^????????? %DB
 U¨????????? %DC
 Y′????????? %DD
 T????????? %DE
 ?????????? %DF
 a`????????? %E0
 a′????????? %E1
 a^????????? %E2
 a~????????? %E3
 a¨????????? %E4
 a°????????? %E5
 ?????????? %E6
 c?????????? %E7
 e`????????? %E8
 e′????????? %E9
 e^????????? %EA
 e¨????????? %EB
 i`????????? %EC
 i′????????? %ED
 i^????????? %EE
 i¨????????? %EF
 e????????? %F0
 n~????????? %F1
 o`????????? %F2
 o′????????? %F3
 o^????????? %F4
 o~????????? %F5
 o¨????????? %F6
 ÷??????????? %F7
 ????????????? %F8
 u`??????????? %F9
 u′??????????? %FA
 u^??????????? %FB
 u¨????????? %FC
 y′??????????? %FD
 t???????????? %FE
 y¨????????? %FF
 |