使用base64编码传输图形文本
如果想通过文本方式传递图形内容, 在一些情况下是可能的.
这里提到的文本方式, 比如通过服务器端传递XML或者JSON格式数据.
一般浏览器端会有脚本通过AJAX获取到XML或者JSON数据, 然后修改 (新增) DOM中显示元素的值.
图形文件可以进行base64编码, 通过XML或者JSON传输到浏览器端.
这里对浏览器有一定的要求, IE7及以上版本, 或者其他主流浏览器, 都可以, 这里唯一限制的是必须IE版本7以上. 其他的比如webkit内核的浏览器(safari和chrome), firefox等都没有问题.
这是因为这些浏览器支持一个新的特性, 见下面示例:
<html>
<body>
<img src=“data:image/gif;base64,R0lGODlhDwAPAKECAAAAzMzM/////
wAAACwAAAAADwAPAAACIISPeQHsrZ5ModrLlN48CXF8m2iQ3YmmKqVlRtW4ML
wWACH+H09wdGltaXplZCBieSBVbGVhZCBTbWFydFNhdmVyIQAAOw==”
alt=“Base64 encoded image” width=“150″ height=“150″/>
</body>
</html>
在img标签的src属性中按照这样格式的写法, 可以将base64编码的文本作为图片显示.

显示效果类似这样. 在IE8上测试也是可以的, 应该在IE7下也可以显示. 在IE6下将显示一个小叉子.
这个特性无法在互联网应用中使用, 至少目前还不行, 因为还有大量用户在使用老旧的IE6. 但是, 已经可以在比如移动应用中很好的使用了:
- android下面可以使用, 因为android使用chrome浏览器webkit内核, 支持这个特性;
- webkit已经是事实上的移动浏览器标准: iphone, symbian, android, blackberry, webos, 都是使用webkit内核的浏览器, 即使是年底推出的windows phone7也不会使用ie6内核, 至少是IE7, 那么也支持该特性.