url編碼和解碼

url爲何要編碼

URL只能使用一些相對較小的、通用的安全字母表中的字符。人們設計了一種編碼機制,用來在URL中表示各類不安全的字符。這種編碼機制就是經過一種「轉義」表示法來表示不安全字符的,這種轉義表示法包含一個百分號(%),後面跟着兩個表示字符ASCII碼的十六進制數。segmentfault

下面列出了幾個例子。
編碼示例安全

保留字符與限制字符

在URL中,有幾個字符被保留起來,有着特殊的含義。有些字符不在定義的US-ASCII可打印字符集中。還有些字符會與某些因特網網關和協議產生混淆,所以不同意使用。下面列出了一些字符,在將其用於保留用途以外的場合時,要在URL中對其進行編碼。
保留字符函數

編碼和解碼方法

encodeURI 和 decodeURI 函數操做的是完整的 URI;這倆函數假定 URI 中的任何保留字符都有特殊意義,全部不會編碼它們。
encodeURIComponent 和 decodeURIComponent 函數操做的是組成 URI 的個別組件;這倆函數假定任何保留字符都表明普通文本,因此必須編碼它們,因此它們(保留字符)出如今一個完整 URI 的組件裏面時不會被解釋成保留字符了。編碼

encodeURI("https://segmentfault.com/write")
//返回結果"https://segmentfault.com/write"
encodeURIComponent("https://segmentfault.com/write")
//返回結果"https%3A%2F%2Fsegmentfault.com%2Fwrite"
相關文章
相關標籤/搜索