base64原理
Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='
如何获取base64图片大小
通过base64编码原理我们知道,base64的图片字符流中的每8个字符就有两个是用0补充,而且字符流的末尾还可能存在‘='号,我们可以通过这个原理计算图片的文件流大小。
var getBase64Size=function(base64) {//获取base64字符串的大小
/*
参考:https://www.jb51.net/article/172316.htm
并优化后代码
*/
if (base64) { // 获取base64图片byte大小
base64=base64.split(",")[1].split("=")[0];
var strLength = base64.length;
var fileLength = strLength - (strLength / 8) * 2;
return Math.floor(fileLength); // 向下取整
} else {
return null
}
};
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
data.graphicContents是后端获取的base64图片的字符串。