js计算base64图片大小

  • Post author:
  • Post category:其他



————————————————

版权声明:本文为CSDN博主「小刘先森」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_35241223/article/details/109164015

另一篇参考文章:

base64计算文件大小方法(C#和js)_今晚打老虎z的博客-CSDN博客_base64获取文件大小

Base64简介

base64中每6位为一个单元,对应一个打印字符。2的6次方为64,所以base64共64个打印字符,A-Z、a-z、0-9共62个字符,其余两个字符不同的系统中一般有所不同。但是,我们经常所说的Base64另外2个字符是“+/”。64个字符为“A-Za-z0-9+/”。3个字符为一组,不足3个字符的使用=号填充。

一个字节为8位,但base64中6位组成一个字符,所以base64的大小为真实大小的4/3。

算法实现

首先判断是否为base64字符串

去掉非base64部分

结果返回两位小数

function imageSize(base64Str) {
  const indexBase64 = base64Str.indexOf('base64,');
  if (indexBase64 < 0) return -1;
  const str = base64Str.substr(indexBase64 + 6);
  return (str.length * 0.75).toFixed(2);
}