JS三個編碼函數和net編碼System.Web.HttpUtility.UrlEncode比較


JS三個編碼函數和net編碼比較

總結

1、escape、encodeUri、encodeUriComponent均不會對數字、字母進行編碼。
2、escape:對某些字符(如中文)進行unicode編碼,變為十六進制數倒序輸出現已棄用
3、encodeUri:目的是對完整Uri進行UTF8編碼十六進制輸出,因為完整的Uri是可以擁有/?#字符的,所以這些字符不會被編碼。
4、encodeUriComponent:目的是對Uri中的參數部分進行UTF8編碼十六進制輸出
5、escape棄用,encodeUri編碼作用作用顯得很窄,Uri編碼大多數場合是因為參數部分有特殊字符?/,所以基本上就用encodeUriComponent對參數部分進行編碼就行了
6、.net中的System.Web.HttpUtility.UrlEncode和encodeUriComponent作用一樣編碼也一樣,可以互相編碼和解碼的

              

              

瀏覽器中JS的三個編碼函數和.net中的System.Web.HttpUtility.UrlEncode是否和系統默認編碼有關?

上面提到的函數所使用的編碼,我並沒有找到文檔來直接支持我的觀點,我所說的都是我試出來的。我不禁要懷疑,它們使用的編碼也許和我系統的默認編碼有關。

              
系統默認編碼是GB2312,和UTF8、unicode沒有關系,由此可見,瀏覽器中JS的三個編碼函數和.net中的System.Web.HttpUtility.UrlEncode中使用的編碼是固定的。


免責聲明!

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



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