zoukankan      html  css  js  c++  java
  • base64文件大小计算

    有时候图片被base64之后需要计算图片大小,因为被编码后全是字符,计算文件大小可以反序列化成文件之后再获取大小,但是会比较麻烦。简单介绍一种利用base64编码原理计算大小的方法.

    编码原理

    要求把38位字节(3*8=24)转化为46位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,用0填充,输出字符使用’=’,因此编码后输出的文本末尾可能会出现12’=’

    示例

    找一张图片文件https://www.baidu.com/img/bd_logo1.png 下载到本地base64编码之后的图片显示结果如下

    去掉base64编码中的前缀 data:image/png;base64,

    var baseStr=document.getElementById("imgcase").getAttribute("src"),tag="base64,";
    baseStr=baseStr.substring(baseStr.indexOf(tag)+tag.length);
    

    去掉base64编码中的“=”号  

    var eqTagIndex=baseStr.indexOf("=");
    baseStr=eqTagIndex!=-1?baseStr.substring(0,eqTagIndex):baseStr;

    计算文件流大小

    var strLen=baseStr.length;
    var fileSize=strLen-(strLen/8)*2
    alert("文件大小:"+fileSize);

    完整代码:https://demohubs.github.io/frontendLab/baseimgfileSize.html

    笑笑笑技术圈
     
     
  • 相关阅读:
    Unity3D热更新
    js
    xshell安装运行时提示缺少mfc110.dll
    Linux 分区的概念
    js
    Web 安全测试
    php 获取客户端的浏览器信息
    H5 获取地理位置
    JS -判断、监听屏幕横竖屏切换事件
    css 禁用移动端部分特性
  • 原文地址:https://www.cnblogs.com/peachyy/p/9015083.html
Copyright © 2011-2022 走看看