x.509公鑰證書也好,電子郵件資料也好,經常要用到base64編碼,那麼為什麼要作一下這樣的編碼呢?
我們知道在計算機中任何資料都是按ascii碼儲存的,而ascii碼的128~255之間的值是不可見字元。而在網路上交換資料時,比如說從a地傳到b地,往往要經過多個路由裝置,由於不同的裝置對字元的處理方式有一些不同,這樣那些不可見字元就有可能被處理錯誤,這是不利於傳輸的。所以就先把資料先做乙個base64編碼,統統變成可見字元,這樣出錯的可能性就大降低了。
1.標準base64只有64個字元(英文大小寫、數字和+、/)以及用作字尾等號;
2.base64是把3個位元組變成4個可列印字元,所以base64編碼後的字串一定能被4整除(不算用作字尾的等號);
3.等號一定用作字尾,且數目一定是0個、1個或2個。這是因為如果原文長度不能被3整除,base64要在後面新增\0湊齊3n位。為了正確還原,新增了幾個\0就加上幾個等號。顯然新增等號的數目只能是0、1或2;
4.嚴格來說base64不能算是一種加密,只能說是編碼轉換。使用base64的初衷。是為了方便把含有不可見字串的資訊用可見字串表示出來,以便複製貼上;
可以得知,通過base64編碼,原來的3個位元組編碼後將成為4個位元組,即位元組增加了33.3%,資料量相應變大。
Base64編碼在傳輸過程中的可能問題
base64 c 加密函式 public static string encrypt string ptoencrypt base64 c 解密函式 public string decrypt string ptodecrypt 加密後的字串如果存在 在web的傳輸過程中 含有request之類動作...
python中base64編碼與解碼
base64是一種用64個字元來表示任意二進位制資料的方法。用記事本開啟exe jpg pdf這些檔案時,我們都會看到一大堆亂碼,因為二進位制檔案包含很多無法顯示和列印的字元,所以,如果要讓記事本這樣的文字處理軟體能處理二進位制資料,就需要乙個二進位製到字串的轉換方法。base64是一種最常見的二進...
python中base64編碼與解碼
引言 在一些專案中,介面的報文是通過base64加密傳輸的,所以在進行介面自動化時,需要對所傳的引數進行base64編碼,對拿到的響應報文進行解碼 base64編碼是一種 防君子不防小人 的編碼方式。廣泛應用於mime協議,作為電子郵件的傳輸編碼,生成的編碼可逆,後一兩位可能有 生成的編碼都是asc...