URL編碼和解碼筆記

URL編碼是什麼

URL編碼是一種瀏覽器用來打包表單輸入的格式。

瀏覽器從表單中獲取所有的name和其中的值 ,將它們以name/value參數編碼(移去那些不能傳送的字符,將數據排行等等)作爲URL的一部分或者分離地發給服務器。不管哪種情況,在服務器端的表單輸入格式樣子像這樣:

theName=Ichabod+Crane&gender=male&status=missing& ;headless=yes

URL編碼什麼時候用呢

1.將它們以name/value參數編碼作爲URL的發給服務器時,然後你就可以獲取了在session範圍內

2.url裏面有中文或者特殊字符比如中文的時候,就需要將編碼轉換

3.是讓C和S更好的識別name和value用的,轉義敏感字符和支持性不是很好的字符

4.防止sql注入

5.避免中文亂碼

URL的編碼和解碼

方式一:JavaScript encodeURI() 函數,其定義和用法:

encodeURI() 函數通過將特定字符的每個實例替換爲一個、兩個、三或四轉義序列來對統一資源標識符 (URI) 進行編碼 (該字符的 UTF-8 編碼僅爲四轉義序列)由兩個 “代理” 字符組成)。

舉例說明:URL:http://192.168.247.1/zwdtSW/swZhallItemAtt/declarationNotice.do?ST=REPORTCONDITIONS&ST_ITEM=‘中國’

encodeURI編碼後:http://192.168.247.1/zwdtSW/swZhallItemAtt/declarationNotice.do?ST=REPORTCONDITIONS&ST_ITEM=’%E4%B8%AD%E5%9B%BD’

方式二:JavaScript encodeURIComponent() 函數,其定義和用法

作用:可把字符串作爲URI 組件進行編碼。其返回值URIstring 的副本,其中的某些字符將被十六進制的轉義序列進行替換。

舉例說明:URL:http://192.168.247.1/zwdtSW/swZhallItemAtt/declarationNotice.do?ST=REPORTCONDITIONS&ST_ITEM=d6c4216e-6d16-4606

經過encodeURIComponent編碼後可得:

http%3A%2F%2F192.168.247.1%2FzwdtSW%2FswZhallItemAtt%2FdeclarationNotice.do%3FST%3DREPORTCONDITIONS%26ST_ITEM%3Dd6c4216e-6d16-4606(這個一般會在Java後臺代碼中使用到)

在線編碼轉換

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章