首页 > 其他 > 详细

通过Base64编码的长度计算文件大小

时间:2021-02-20 12:02:55      阅读:143      评论:0      收藏:0      [点我收藏+]

前言


在一些业务场景下,我们会将文件或图片转化为Base64编码进制传输,而业务中有需要对文件的大小进行限制,如何在不进行解码的情况下判断出文件的大小呢。


编码格式


Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6位的前面补两个0,形成8位一个字节的形式。
如果剩下的字符不足3个字节,则用0填充,输出字符使用‘=‘,因此编码后输出的文本末尾可能会出现1或2个‘=‘。
为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。
技术分享图片


文件大小计算


由Base64编码的性质可知,原文件在经由Base64编码后,体积会增长1/3。 1 → 4/3
反之,Base64字符串中的4个字符即对应原文件的3字节。
那么计算原文件的大小只需要得出Base64字符串的长度,再乘以0.75即可。该方法可能存在1Byte的大小误差,计算出的大小可能比真实大小多1Byte,也可能与真实文件大小正好相等。
技术分享图片
技术分享图片


参考:
https://www.cnblogs.com/bigorang/p/10702944.html
http://cn.voidcc.com/question/p-oameqciv-xg.html

通过Base64编码的长度计算文件大小

原文:https://www.cnblogs.com/mirage0/p/14419549.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!