編碼系列-URL編碼

寫在前面

組成 URL(全稱:Uniform Resource Locator,縮寫:URL;或稱統(tǒng)一資源定位器、定位地址、URL地址,俗稱網頁地址或簡稱網址)字符是有限的,URL編碼就是為了解決這個問題的。

比如

https://zh.wikipedia.org/wiki/哈

URL編碼后 

https://zh.wikipedia.org/wiki/%e5%93%88

URL編碼,又稱百分號編碼,是特定上下文的統(tǒng)一資源定位符 (URL)的編碼機制,實際上也適用于統(tǒng)一資源標志符(URI)的編碼。

編碼原理

URL所允許的字符分作保留未保留。

  • 保留: 字符是那些具有特殊含義的字符,例如:斜線字符用于URL不同部分的分界符;
  • 未保留: 字符沒有這些特殊含義。

上述情形隨URL的不同版本規(guī)格會有輕微的變化。

URL_img01.png

URL中的其它字符必須用百分號編碼。

編碼規(guī)則:轉換為UTF-8字節(jié)序, 然后每個字節(jié)前面放置轉義字符("%")

比如:編碼“~”(UTF8在編碼ASCII碼時,通過一個字節(jié)來編碼ASCII碼同時也保持其值一致)

第一步,轉換UTF8編碼:7e(ASCII碼也是:7e)
第二步,URL編碼:%7e

比如,編碼“哈”

第一步,轉換UTF8編碼:e59388
第二步,URL編碼:%e5%93%88

注意:

  1. UTF8 是用來編碼 Unicode 碼的;
  2. 如果URL保留字符是有上下含義,可以對其進行百分號編碼,比如:name=va&lue,編碼之后 name=va%26lue,這樣解析之后 name 的值就是 va&lue,如果不編碼值就是 va;

參考資料

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容