C# url轉義字符


在web開發中通過(?)方式在瀏覽器地址欄傳值時,瀏覽器是通過“&”來區分參數個數及取值的,比如:

http://localhost/default.aspx?param1=10&5 &param2=20

假如說,我想取值param1中的10和5,然而因為&這個轉義字符的存在,會導致參數接受錯誤。

 

針對於轉義字符,可以這樣理解:

1. 它是一種特殊的字符常量,一般是用'\'加數字(8進制)來表示;

2. 它主要用於表示一般字符不便於表示的控制代碼,且用於消除緊隨其后的字符的原有含義

3. 用可以看見的字符表示不可見的字符,比如'\n'


舉一個這樣的例子,我想實現一個這樣的數據:

"phoneNum":"123456", "Name":"you"

編碼如下:

\"phoneNum\":\"123456\", \"Name\":\"you\"

同樣的,我可以再舉一個這樣的例子,在java中,我想講上述例子的數據中的'\'去掉,代碼實現如下:

String str = new String("\"phoneNum\":\"123456\", \"Name\":\"you\"");

String newStr = new String(str.replaceAll("\\\\",""));

其原因就是:在java中,'\'表示一個轉義字符,所以'\\'代表'\',而'\'正則表達式中的轉義字符(replaceAll 兩個的參數都是符合正則表達式規則),所以:'\\\\'被java轉換成 '\\' , '\\'又被正則表達式轉換成 '\'。

 

下面是一些URL特殊字符及編碼:

+     url中+表示空格        %2B

/      分割目錄和子目錄      %20

?      分割實際的url和參數          %3F

%            指定特殊字符                   %25

#             表示書簽                         %23

&             url中指定的參數的分隔符     %26

=             url指定參數的值                %3D

想查看其它的,請參考:   http://blog.csdn.net/sunhuwh/article/details/41809909

 

針對於以上數據,比如我想發送這樣的數據:

http://localhost/default.aspx?name=wang&num=10

轉換如下:

http://localhost/default.aspx%3fname%3dwang%26num%3d10

假如你在網上看到類似的網址,再想想轉義字符時,好像也不足為怪了。


 

      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM