Base64编码的字符串与图片的互转

简介: 用Flex写了一个例子,图片(暂时仅支持png、jpg/jpeg)转成base64编码的字符串(默认取上传文件的后缀名,然后添加了“data:image/(png|gif|jpg|jpeg);base64,”) 可以直接复制出编码后的字符串,在网页中使用就可以预览效果了   在另一个输入框中,...

用Flex写了一个例子,图片(暂时仅支持png、jpg/jpeg)转成base64编码的字符串(默认取上传文件的后缀名,然后添加了“data:image/(png|gif|jpg|jpeg);base64,”)

可以直接复制出编码后的字符串,在网页中使用<img src=”copy得到的字符串” />就可以预览效果了

 

在另一个输入框中,输入base64编码格式的字符串,点击解码,会解析得到相应的图片(不过程序默认将jpg的质量为100进行转换--普通使用的是60),可以选择保存解码出来后的图片

(解码一次只能点击一次保存,这里似乎有bug,有空再研究)

 

唯一不太靠谱的是:在解码之后加载图片,没有什么好的属性或是方法直接获取Image对象它的文件格式(后缀),所以在选择保存文件时,可能存在问题。代码中是直接写死了对应的一个值(在网上搜索byteArray得到真实的文件类型,但文章中没有指出什么值对应的是png或是jpg)。不过测试下来基本是符合预期的,如果机器配置不高,不建议上传大文件进行测试 :)

 

程序在本地debug出来的结果如下图:

image

 

一个是正向编码,一个是反向根据解析字符串得到byteArray,然后使用图片加载它,具体实现可以参考代码(就一个主mxml文件,其它的包其实可以使用flex自带的)

下载地址>>

下载完成后,解压可找到文件夹的目录“bin-release”,然后直接运行“Base64toImage.swf”--可能提示需要访问本地资源,可以到adobe官网上去设置flash可允许访问的系统盘符。设置完成后,在bin-release目录中找到srcview目录,双击里面的inidex.html可浏览整个源码

image

image

 

在线演示地址:http://1.meteoric.sinaapp.com/Base64toImage.swf

或是这里:http://drmcmm.baidu.com/media/id=n1DsP1c1nWf&gp=401&time=nHnkPjc1PWfknf.swf

目录
相关文章
|
9月前
|
移动开发 Unix Linux
多行文本转成一行的实现方法
多行文本转成一行的实现方法
|
XML 存储 JSON
Base64编码理解与实现(编码图片)
Base64是一种数据编码方式,目的是让数据符合传输协议的要求。 在项目中,将报文进行压缩、加密后,最后一步必然是使用base64编码,因为base64编码的字符串,更适合不同平台、不同语言的传输
269 0
|
Web App开发 前端开发
Python__24--格式化字符串与字符串的编码、解码转换
驻留机制、格式化字符串与字符串的编码、解码转换
C#使用base64对字符串进行编码和解码的测试
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。
C#使用base64对字符串进行编码和解码的测试
|
前端开发 JavaScript
前端实现 base64 编码和解码
前端实现 base64 编码和解码
426 0
前端实现 base64 编码和解码
|
Java
Java中将base64编码字符串转换为图片
前一段时间,在做摄像头拍照上传,摄像头拍的照片为base64编码格式的字符串,需要上传至项目中,则需要使用到将base64编码字符串转换为图片
836 0
|
前端开发
教程 将 BASE64 和图片互转
DataURI 允许在 HTML 文档中嵌入小文件,可以使用 img 标签或 CSS 嵌入转换后的 Base64 编码,减少 HTTP 请求,加快小图像的加载时间。 经过Base64 编码后的文件体积一般比源文件大 30% 左右。
1243 0
|
Java
小程序中base64解码/编码
很多人都在为小程序如何实现base64编码/解码困扰,于是我参考前端大佬们对JavaScript中实现base64的文章进行了改写。简单实现了一个。。希望能帮助到小程序开发一线的大家吧、 不多说直接上代码: /** * UTF16和UTF8转换对照表 * U+00000000 – U+000000...
4729 1