當前位置:編程學習大全網 - 遊戲軟體 - 什麽是Base64算法

什麽是Base64算法

1、為什麽要做Base64編碼呢

(1)在計算機中任何數據都是按ASCII碼存儲的,而ASCII碼的128~255之間的值是不可見字符。而在網絡上交換數據時,比如說從A地傳到B地,往往要經過多個路由設備,由於不同的設備對字符的處理方式有壹些不同,這樣那些不可見字符就有可能被處理錯誤,這是不利於傳輸的。所以就先把數據先做壹個Base64編碼,統統變成可見字符,這樣出錯的可能性就大降低了。

(2)Base64 不是加密算法,它主要的用途是把壹些二進制數轉成普通字符用於網絡傳輸。由於壹些二進制字符在傳輸協議中屬於控制字符,不能直接傳送,需要轉換壹下。ASCII碼的範圍是0-127,其中0-31和127這33個字符屬於控制字符。剩下32-126這95個字符屬於可打印字符,包含數字、大小寫字母、常用符號。

2、Base64到底是怎樣編碼的呢?

簡單來說,任何壹個數據無非可以看作壹個比特流,如01000100010011101100111010111100011001010......那麽取6個比特為壹組,計算它的ASCII碼值,得到壹個字符,這個字符肯定是可見字符,然後把它對應的字符寫出來,再取6個比特,計算...,如此下去,直到最後,就完成了編碼。

3、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的初衷。是為了方便把含有不可見字符串的信息用可見字符串表示出來,以便復制粘貼;

參考文章: /ios_xumin/article/details/79609029

  • 上一篇:《娘妻》大結局雅婷去哪了?
  • 下一篇:shocked怎麽讀英語
  • copyright 2024編程學習大全網