base64和hex
我們知道,字符分為二種:一種是可見字符;另一種是不可見字符。
1)三種編碼方式
hex也稱為base16,意思是使用16個可見字符來表示一個二進制數組,編碼后數據大小將翻倍,因為1個字符需要用2個可見字符來表示。
base32,意思是使用32個可見字符來表示一個二進制數組,編碼后數據大小變成原來的8/5,也即5個字符用8個可見字符表示,但是最后如果不足8個字符,將用=來補充。
base64,意思是使用64個可見字符來表示一個二進制數組,編碼后數據大小變成原來的4/3,也即3個字符用4個可見字符來表示。
2)三種編碼的區別
主要就是空間效率的區別,base64是具有比較高的空間效率的。當然,hex編碼不區分大小寫,但是base32與base64是區分的。
3)三種編碼相同點
就是大家都是一種穩定的把二進制數組變成可見字符的編碼方式。
4)為什么有的場合,必須要使用可見字符?
例如在網絡中傳輸數據時,不同路由器對於不可見字符的處理是不同的,因此可能出現數據錯誤,因此還必須使用可見字符。