Android中对图像进行Base64编码
来源:互联网 发布:游戏优化软件 编辑:程序博客网 时间:2024/06/02 10:48
首先我们来看看维基百科是怎么定义的这个概念的。
Base64 is a generic term for a number of similar encoding schemes that encode binary data by treating it numerically and translating it into a base 64 representation. The Base64 term originates from a specificMIME content transfer encoding.
Base64 encoding schemes are commonly used when there is a need to encode binary data that needs be stored and transferred over media that are designed to deal with textual data. This is to ensure that the data remains intact without modification during transport. Base64 is used commonly in a number of applications including email via MIME, and storing complex data in XML.
当然我们对于概念可以不做过多的理会,只要知道这是一种编码方式,设计用来进行数据传输,而且要不易为人读懂,也就是为了加密用的设计的目的是用文本字符串来传输二进制数据(经麦壳童鞋和KongQue童鞋二人提醒后,更正)。至于他的算法实现,我们可以Google出来很多中成熟的算法。
我选用了这个网站上提供的源码,测试之后暂时还没有发现问题,并且该源码的作者将版权完全放弃了,无需任何的License授权,也不怕License感染,拿过来用就是了,作者只是希望使用的人如果发现问题可以反馈给他,如果能参与进来一起解决那是更好。
Android SDK2.2之后提供了Base64编码相关的API类Base64,不过鉴于开发的程序需要向下兼容,我想大部分的程序还是需要自己实现或者寻求第三方的实现来解决该问题。下面我们来一步步看看如何将图片编码成一个Base64编码的字符串进行传输。
任何图像到了程序中都需要解码成为Bitmap来进行绘制(不论是显示的解码还是系统在API中帮的忙),解码之后的Bitmap就是一张位图也就是一个byte数组,在Android中Bitmap有compress(Bitmap.CompressFormat format, int quality, OutputStream stream)这个方法,该方法可以将Bitmap重新压缩存储为别的格式,可以是PNG/JPG文件,或者是ByteArrayOutputStream输出。
public static String getBitmapStrBase64(Bitmap bitmap){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG, 100, baos);
byte[] bytes = baos.toByteArray();
return Base64.encodeBytes(bytes);
}
这就是获取位图Base64编码的代码,同理也可以将Base64编码字符串转化为Bitmap对象
public Bitmap getBitmap(){
try {
byte[] bitmapArray;
bitmapArray = Base64.decode(iconBase64);
return BitmapFactory.decodeByteArray(bitmapArray, 0, bitmapArray.length);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
以上就是所有的代码实现了,比较简单,效率还不错。
- Android中对图像进行Base64编码
- Android中对图像进行Base64编码
- Android中对图像进行Base64编码
- 王立平-Android中对图像进行Base64编码
- Android:对图片进行Base64编码
- LoadRunner中,对字符串进行Base64编码
- java中,对字符串进行base64编码和解码
- JS 对图片base64编码字符串进行解码并输出图像
- Html5 FileReader 对文件进行Base64编码
- C语言对图片进行base64编码
- 在浏览器中解析Base64编码图像
- 在浏览器中解析Base64编码图像
- 在浏览器中解析Base64编码图像
- Android 中Base64编码解码
- 使用Base64编码对图片进行编码与显示
- Python中进行Base64编码和解码
- Python中进行Base64编码和解码
- Win7,64位,Python中对图片进行 Base64 编码和解码
- Eclipse开发工具的一些小知识,Eclipse切换工作空间的办法!(记录下来,希望与大家一起分享,共同学习吧!)
- JIT on WIKI
- iphone开发之绘制地图线路
- linux下远程安装weblogic10.0
- //System.exit(0);
- Android中对图像进行Base64编码
- 大计算场景下 N个自然数的全排列问题
- mac下安装git和nodejs
- 使用SeaJS实现模块化JavaScript开发
- 两个多选框(select)之间值的左右上下移动
- IOS开发-地图 (mapkit)实验
- 【java常见问题】——如何遍历目录中所有文件?
- Android二进制文件转码到Base64并通过Post进行提交
- 栈中重复元素的策略:1、新项忽略;2、旧项遗忘-----单链表实现