base64加密后字符串長度


設字符串長度為n ,長度為 ⌈n/3⌉*4   ⌈⌉ 代表上取整

 

先看一個來自牛客網的題目

在網絡傳輸數據時,經常需要將二進制數據轉換為一個可打印字符串。一般用到的可打印字符集合包含64個字符,因此又稱為Base64表示法。現有一個char數組長度為12,要將它表示為Base64字符串,請問Base64字符串最少需要( ) 個char;如果char數組長度為20,則需要( )個char。

16,28

base64的編碼都是按字符串長度,以每3個8bit的字符為一組,
然后針對每組,首先獲取每個字符的ASCII編碼,然后把ASCII編碼轉換成8bit二進制,得到24bit;
再把這24bit每六個划分,高位用0補齊,得到4個8bit的字節,
然后再將這4個8bit的字節轉換成十進制,對照Base64編碼表,
得到對應編碼后的字符。
如果字符串的長度不能被3整除,多出來的部分用0補齊,對應的輸出字符為“=”

 

http://www.ruanyifeng.com/blog/2008/06/base64.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM