问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php 图片用base64转码完的文本比以前还大 是为什么?

发布网友 发布时间:2022-04-06 02:58

我来回答

2个回答

热心网友 时间:2022-04-06 04:27

base64转码会把原有图片的像素数据转成字符数据保存,当需要使用的时候,再把字符数据转化为图片数据显示.
大小问题:
base64是通过文字记录像素方式来保存图片,与原有的二进制保存图片方式并不同,所以不论变大变小都是正常现象.
为何还要使用base64.使用base64保存图片并不是为了节省存储空间,而是为了减少请求.要知道请求耗时且费服务器.如果一个H5页面包含有100张图片,那么用户打开一次,至少要请求100次图片,1次html文件,css文件和js文件都要请求.这么下来,如果1000人同时打开,服务器就瞬间达到了1000*101次100000并发量,无形之中增加了服务器巨大的成本.
而使用base64,把图片数据全部存在一个js文件中,一次请求就2次,一个html文件和一个images.js文件.服务器1000人同时并发也就2000量级.减少服务器压力.
同时,应为只需要请求2个文件,请求时间大大缩短,用户打开速度几乎之和服务器带宽有关系,不用考虑过多的域名解析时间与请求时间.来自:求助得到的回答

热心网友 时间:2022-04-06 05:45

楼上并没有回答文件变大的原因,我来简单说一下吧。    

先说结果:经 base64 编码后的文件大约变大(长) 1/3 。

以下是解释:

base64 编码:用 64 个可打印字符来表示二进制数据(例如图片)的一种编码方案,它能把所有的二进制数据转换成字符串形式保存或显示。这写可打印字符是英文字母、数字和 2 个符号,一共 64 个,编号 0~63。  

0~63 对应的二进制数:000000 ~ 111111 ,即使用 6 位二进制就能表示一个 base64 编码字符。

base64 编码过程:对二进制数据进行处理,每 3 个字节一组,一组就是 3 * 8 = 24 位,再分为 4 组,每组就是 6 位,这样每组就刚好可以用一个 base64 可打印字符来表示,一共 4 组。这样原来的 3 个字节进过编码后会变成 4 个字节。文件大约变大(长) 1/3 。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
洛阳火车站到洛阳关林的钢厂怎么坐公车去?钢厂目前是否分为三个小... 李永昌的《桃花运》 歌词 失眠特效药有哪些 失眠有什么快速特效药 长期失眠用什么药最好?失眠治疗特效药有哪些 失眠怎么办办,有没有什么特效药 本人严重失眠,有特效药吗? 长期焦虑失眠怎么办?有没有好的特效药? 离婚了,小孩抚养费对方拖着不给,玩失踪,怎么办? 小孩抚养费前夫每月都拖着不给怎么解决 如何将本地图片转成base64 php 如何base64编码的图片 php 图片流 转 base64 PHP 如何把图片转成 BASE64 编码 php httpclient 超时怎么办 php怎么获取服务器脚本超时时间 php的fsockopen能设置超时时间吗 php中mysqli连接超时时间如何设置 如何修改IIS中的ASP脚本和PHP脚本超时时间 php soap 如何设置超时? php替换字符串中多个指定的字符为固定形式 php 全文查找字符串和替换成另一个字符串 浅析PHP中的字符串编码转换(自动识别原编码) PHP UNICODE 编码转换 php gb2312转换UTF-8编码 linux php开启失败 linux下PHP环境中Fatal error: Call to undefined function mysql_connect() 出错 linux 32位系统 编译php报错 linux 下的php代码出路径错误 linux下安装php报错configure: error: Cannot find MySQL header files under /usr/include/mysql. 如何将图片转换为base64数据流 image/png;base64 用php怎么解析 php amr怎么转换成base64 码 用php在IE6中怎样显示编码为base64的图片? php 怎么将二进制流转换为base64编码 请问:php如何判断用户是使用pc电脑浏览网页 还是移动设备来浏览网页呢? PHP判断用户在移动端访问还是桌面端访问的代码 PHP如何判断手机访问还是电脑访问,我要一个判断获得两个值,如果手机访问,那么是$visit=sh 服务器如何识别你是用电脑还是手机上的他们的网站? php判断客户端是pc还是手机 php 判断是手机版还是电脑端 php怎么判断是不是苹果手机浏览器 403 Forbidden是什么意思?怎么解决? 打开游戏显示"403Forbidden"是啥意思? 403 Forbidden是什么意思,怎么解决这个问题? 403 Forbidden 是什么意思?怎么解决? 我登陆网站提示 “403 Forbidden”是什么意思? 在上网时,IE提示错误信息 403 Forbidden ,它表示什么含义? 网站出现403 Forbidden错误的原因以及怎么解决的方法 错误403 forbidden什么意思?