<?php
$str='R0lGODlhEQANAJEDAJmZmf///wAAAP///yH5BAHoAwMALAAAAAARAA0AAAItnIGJxg0B42rsiSvCA/REmXQWhmnih3LUSGaqg35vFbSXucbSabunjnMohq8CADsA';
echo base64_decode($str);
?>首先你看下运行结果
http://www.2c2c.net.cn/tt/ba64de.php我想得到的是$str是个什么,怎么解压出来后就是图片了??
其中的原理哪位能解释一下?

解决方案 »

  1.   

    所谓Base64编码,就是是采用64个基本的ASCII码字符对数据进行重新编码,其作用之一是为了在网上传输一些含有特殊字符的数据(比如一些2进制数据)。图片就是其中一种2进制数据的编码,原来有个图片 $img,把它 base64 encode 之后得到$str,上面的程序再通过 decode,就是还原出原来的$img内容
      

  2.   

    图片也是数据,文本也是数据,是数据就能base64编码,所以解码出图片有何奇怪?
      

  3.   

    难道图片不是二进制组成的吗???楼主可以看一下,你为什么echo(file_get_contents("1.jpg"));可以读取JPG文件,其实都是一个道理。还有,楼主这个程序在Firefox是不对的,你试一下,显示的是乱码,记得要定个header,否则是乱码的。
      

  4.   

    decode是解码.encode是编码,还谈不上加密解密。