ASCII編碼和Hex編碼
ASCII編碼:將所有的英文字元中標點符號、空格、數字、大小寫字元可以表示為表示為0到127的十進位制數字。
Hex編碼:將資訊轉化為十六進位制,即每個字元的ASCII碼的十六進位制。
使用8個位元位(即1個位元組)儲存字元,如同可見
引用圖片:來源https://www.asciim.cn/ ASCII編碼網
Base編碼
在資料傳輸中,一些二進位制數字會被系統解釋成控制字元等,二進位制資料可能包含不能直接列印或顯示的字元。
base編碼將二進位制資料轉換為文字表示,功能主要是將特殊字元和不可見字元轉換成常見字元
base家族有三個重要成員:
base16 :又名hex編碼
2的4次方是16 base16由4bit表示
0-9,A-F共16個字元
引用圖片:來源https://blog.equinox.chat Norman1z的個人筆記
base32:
2的5次方是32 base32由5bit表示
A-Z,2-7共32個字元
引用圖片:來源https://blog.equinox.chat Norman1z的個人筆記
base64
2的6次方是64 base64由6bit表示
A-Z,a-z,0-9,+,/共64個字元
引用圖片:來源https://blog.equinox.chat Norman1z的個人筆記
Base編碼的最大特點:字串末尾是=
為什麼呢?
一個位元組是八位bit,即八個bit為一組。base64是六位bit,即六個bit為一組。將收到的位元組資料按6個bit為一組進行重新劃分,位元組資料有時不是六的倍數,在這種情況下,在序列末尾填充“0”以補充到24的倍數(6和8的最小公倍數)。
base32則是補充到5和8的最小公倍數40,同理。
URL編碼
每一個字元的URL編碼是百分號%+該字元的ASCII的16進製表示
字元:flag
URL編碼後:%66%6C%61%67
HTML編碼
HTML編碼由 :&#+該字元的ASCII值 表示
字元:Hello
HTML編碼後Hello