是一種基於64個可列印字元來表示二進位制資料的表示方法。在mime格式的電子郵件中,使用的字元包括大小寫拉丁字母各26個、數字10個、加號+和斜槓/,共64個字元,在日常使用中我們還會看到「=」或「==」號出現在base64的編碼結果中,「=」在此是作為填充字元出現.
我們都知道計算機系統之間通過二進位制位元組流傳輸資料,這就需要雙方有對應的編碼/解碼器。可是剛開始的時候,有很多不同的編碼/解碼規則,相應的也就出現了很多相容問題。
比如email系統,設計之初就被定義為基於文字的格式進行傳輸,它會把收到的位元組流翻譯成文字。
普通文字沒有問題,但是當傳輸時,對於這部分位元組流,
翻譯成文字就會出現特殊字元,有些email閘道器會把某些特殊字元擦除(安全考慮),進而導致位元組流受損。
為了解決上述問題,作為mime多**電子郵件標準的一部分—base64被開發出來。
它把二進位制位元組流對映成了64個最常用的字元,來相容一些基於文字格式傳輸的系統。
如下圖所示:
image 位元組流 => base64文字 => ascii位元組流
*****====>
ascii位元組流 => base64文字 => image 位元組流
這麼就解決了資料傳輸中的特殊字元問題。
為什麼要使用Base64?
在設計這個編碼的時候,我想設計人員最主要考慮了3個問題 1.是否加密?2.加密演算法複雜程度和效率 3.如何處理傳輸?加密是肯定的,但是加密的目的不是讓使用者傳送非常安全的email。這種加密方式主要就是 防君子不防小人 即達到一眼望去完全看不出內容即可。基於這個目的加密演算法的複雜程度和效率也就不...
為什麼要使用Base64?
為什麼要使用base64?在設計這個編碼的時候,我想設計人員最主要考慮了3個問題 1.是否加密?2.加密演算法複雜程度和效率 3.如何處理傳輸?加密是肯定的,但是加密的目的不是讓使用者傳送非常安全的email。這種加密方式主要就是 防君子不防小人 即達到一眼望去完全看不出內容即可。基於這個目的加密演...
Base64編碼是什麼
base64編碼 是一種基於 64 個可列印字元來表示二進位制資料的方法。目前 base64 已經成為網路上常見的傳輸 8 位二進位制位元組 的編碼方式之一。為什麼會有 base64 編碼呢?因為有些網路傳送渠道並不支援所有的位元組,例如 傳統的郵件只支援可見字元的傳送,像 ascii 碼的控制字元...