base64編碼 是一種基於 64 個可列印字元來表示二進位制資料的方法。目前 base64 已經成為網路上常見的傳輸 8 位二進位制位元組**的編碼方式之一。
為什麼會有 base64 編碼呢?因為有些網路傳送渠道並不支援所有的位元組,例如:傳統的郵件只支援可見字元的傳送,像 ascii 碼的控制字元就不能通過郵件傳送。這樣用途就受到了很大的限制。
的二進位製流的每個位元組不可能全部是可見字元,這就導致的二進位製流無法傳送。最好的解決方式就是在不改變傳統協議的情況下,做一種擴充套件方案來支援二進位制檔案的傳送。即把不可列印的字元也能用可列印字元來表示,問題就解決了。
base64 編碼就是為了實現這一方案而設計的編碼格式。
base64 就是一種基於 64 個可列印字元來表示二進位制資料的表示方法。它的編碼過程如下:
根據 base64編碼對照表(見下表)獲得對應的值:
大多數編碼都是由字串轉化成二進位制的過程,而 base64 的編碼則是從二進位制轉換為字串。與常規恰恰相反,base64 編碼主要用在傳輸、儲存、表示二進位制領域,不能算得上加密,只是無法直接看到明文。也可以通過打亂base64 編碼來進行加密。中文有多種編碼(比如:utf-8、gb2312、gbk等),不同編碼對應base64編碼結果都不一樣。
挺多人會誤以為 base64 是加密演算法,喜歡在資料傳輸不安全的時候來一句:使用 base64 加密一下唄。
我們先來看一下加密的定義:在密碼學中,加密(英語:encryption)是將明文資訊改變為難以讀取的密文內容,使之不可讀的過程。只有擁有解密方法的物件,經由解密過程,才能將密文還原為正常可讀的內容。
所謂加密演算法就是加密的方法。
如果你使用 base64 進行 「加密」 ,第三方拿到資料可以瞬間解密,根本無法實現你想要的 加密 效果。因此,base64 不能說是 加密演算法,只能說是 編碼。
base64編碼 動畫演示 Base 64 編碼
base64 是一種十分流行的編碼方式,僅僅使用 64 個字元加等號 就可以以文字的形式表示所有的二進位制資料了,因為它能夠把二進位制格式通過編碼轉換成可見字元,所有我們就可以通過的把二進位制格式比如,檔案等通過 base64 編碼然後通過文字的形式共享出去,是不是很神奇呀。把輸入的資料轉換成 二進...
Base64編碼演算法
base64要求把每三個8bit的位元組轉換為四個6bit的位元組 3 8 4 6 24 然 後把6bit再添兩位高位0,組成四個8bit的位元組,也就是說,轉換後的字串理 論上將要比原來的長1 3。轉換後,我們用乙個碼表來得到我們想要的字串 也就是最終的base64編碼 這個表是這樣的 0 a 1...
Base64編碼演算法
base64 construe aaaaaaaa bbbbbbbb cccccccc dddddddd ffffffff 3byte to 4byte is encode 00aaaaaa 00aabbbb 00bbbbcc 00cccccc 3byte newlen 4 00aaaaaa 00aa...