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