五種編碼模式

纤秾發表於2024-11-09

ASCII編碼和Hex編碼

ASCII編碼:將所有的英文字元中標點符號、空格、數字、大小寫字元可以表示為表示為0到127的十進位制數字。
Hex編碼:將資訊轉化為十六進位制,即每個字元的ASCII碼的十六進位制。
使用8個位元位(即1個位元組)儲存字元,如同可見
image
image
image
image
引用圖片:來源https://www.asciim.cn/ ASCII編碼網

Base編碼

在資料傳輸中,一些二進位制數字會被系統解釋成控制字元等,二進位制資料可能包含不能直接列印或顯示的字元。
base編碼將二進位制資料轉換為文字表示,功能主要是將特殊字元和不可見字元轉換成常見字元

base家族有三個重要成員:

base16 :又名hex編碼
2的4次方是16 base16由4bit表示
0-9,A-F共16個字元
image

引用圖片:來源https://blog.equinox.chat Norman1z的個人筆記

base32:
2的5次方是32 base32由5bit表示
A-Z,2-7共32個字元
image

引用圖片:來源https://blog.equinox.chat Norman1z的個人筆記

base64
2的6次方是64 base64由6bit表示
A-Z,a-z,0-9,+,/共64個字元
image

引用圖片:來源https://blog.equinox.chat Norman1z的個人筆記

Base編碼的最大特點:字串末尾是=
為什麼呢?
一個位元組是八位bit,即八個bit為一組。base64是六位bit,即六個bit為一組。將收到的位元組資料按6個bit為一組進行重新劃分,位元組資料有時不是六的倍數,在這種情況下,在序列末尾填充“0”以補充到24的倍數(6和8的最小公倍數)。
image
image
base32則是補充到5和8的最小公倍數40,同理。

URL編碼

每一個字元的URL編碼是百分號%+該字元的ASCII的16進製表示
字元:flag
URL編碼後:%66%6C%61%67

HTML編碼

HTML編碼由 :&#+該字元的ASCII值 表示
字元:Hello
HTML編碼後Hello

相關文章