HTTP協議編碼與解碼

HTTP協議編碼與解碼

在講解編碼之前我們率先了解一下甚麼是碼

字符集與編碼

計算機如何顯示文字

有些人應該已經知道計算機系統是利用二進制保存操作,那我們就要思考如何把這種二進制系統轉換成我們的畫面

示意圖

現在想像計算機是一個人,如果我們今天想要找水壺的英文,那我們是不是會打開字典開始尋找。對計算機來說字符集就是他看得懂的語言,而字庫表就是他查找水壺這個英文的字典

  1. 字符集: 某一個電腦看得懂的二進制代碼(地址的集合)
  2. 字庫表: 儲存所有二進制代碼的具體內容(那一本字典)
  3. 編碼方式: 算法,因為二進制樹又臭又長很難搞

具體流程

一個二進制樹經過一個編碼方式得到字符集對應的地址,在字庫表找到對應的字符,最後顯示給用戶

常見編碼規範

為何會亂碼

不管是在編碼或者解碼的過程中,假如我們解析的過程沒有找到一一對應的字符集或者字符表,就會產生亂碼。比方說ASCII不支持中文,如果我們在解碼過程發現中文字就會產生亂碼。

URL的編碼以及解碼

  1. 採用ASCII字符集進行編碼,假如有非ASCII的字符要對其進行編碼

  2. URL 有一些保留字(比如&),如果要在URL使用也要進行編碼

百分號編碼規範

  1. 屬於ASCII字符集的非保留字不做編碼
  2. 屬於ASCII字符集的保留字取得ASCII的內碼,再加上%前綴後進行編碼
  3. 非ASCII則取Unicode內碼,加上%前綴後進行編碼

以上為https://coding.imooc.com/class/395.html#Anchor 整理下來的筆記