您好,登錄后才能下訂單哦!
本篇內容介紹了“base64原理是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
為什么會有Base64編碼呢?因為有些網絡傳送渠道并不支持所有的字節,例如傳統的郵件只支持可見字符的傳送,像ASCII碼的控制字符就不能通過郵件傳送。這樣用途就受到了很大的限制,比如圖片二進制流的每個字節不可能全部是可見字符,所以就傳送不了。最好的方法就是在不改變傳統協議的情況下,做一種擴展方案來支持二進制文件的傳送。把不可打印的字符也能用可打印字符來表示,問題就解決了。Base64編碼應運而生,Base64就是一種基于64個可打印字符來表示二進制數據的表示方法。
Base64的索引表
看一下Base64的索引表,字符選用了"A-Z、a-z、0-9、+、/"64個可打印字符。數值代表字符的索引,這個是標準Base64協議規定的,不能更改。
Base64的原理
Base64的碼表只有64個字符,如果要表達64個字符的話,使用6的bit即可完全表示(2的6次方為64)。
因為Base64的編碼只有6個bit即可表示,而正常的字符是使用8個bit表示,8和6的最小公倍數是24,所以4個Base64字符可以表示3個標準的ascll字符;
如果是字符串轉換為Base64碼,會先把對應的字符串轉換為ascll碼表對應的數字,然后再把數字轉換為2進制,比如a的ascll碼味97,97的二進制是:01100001,把8個二進制提取成6個,剩下的2個二進制和后面的二進制繼續拼接,最后再把6個二進制碼轉換為Base64對于的編碼,以下為具體的解析過程案例:
把abc這三個字符轉換為Base64的過程
運行下面代碼
復制代碼
字符串abc
ASCII979899
8bit011000010110001001100011
6bit011000010110001001100011
十進制2422935
對應編碼YWJj
復制代碼
把man這三個字符轉換為Base64的過程
“base64原理是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。