码迷,mamicode.com
首页 > 移动开发 > 详细

Android Base64编码解码

时间:2014-12-14 01:58:25      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:android   ar   os   for   java   on   文件   数据   ef   

服务端图片的信息被转化成字符串,传到android客户端,android端需要把这些信息再解码转化成图片并保存在本地。
//编码部分
String string = Base64.encodeToString(str.getBytes(),Base64.DEFAULT);
   //解码部分string 是服务端发来的信息
byte[] byteIcon= Base64.decode(string,Base64.DEFAULT);
for (int i = 0; i < byteIcon.length; ++i) {  
    if (byteIcon[i] < 0) {  
byteIcon[i] += 256;  
 }}  
//建立一个文件对象
File iconFile = new File("userIcon.png");
FileOutputStream fos = new FileOutputStream(iconFile);
if(!iconFile.exists())
{
 iconFile.creatNewFile();    
}
//把图片数据写入文件形成图片
fos.write(byteIcon);

我到网上搜了一下,发现我这种写法变复杂了,实际上byteIcon可以直接转换成Bitmap,不过这样就不能实现本地保存了
//服务端
//编码,记住这个流,经常用于图片和Base64数据的切换
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//图片压缩并转换成流,bitmap在这我就不初始化了
bitmap.compress(Bitmap.compressFormat,100,baos);
byte[] byteServer = baos.toByteArray();
String result = Base64.encodeToString(byteServer.Base64.DEFAULT);
[在此输入链接描述][1]

//android端
byte[] byteIcon = Base64.decode(result,Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decode(byteIcon,0,byteIcon.length);

Android Base64编码解码

标签:android   ar   os   for   java   on   文件   数据   ef   

原文地址:http://my.oschina.net/lengwei/blog/355901

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!