ANDROID BASE64编码解码
2015-12-02 21:21
519 查看
Android Base64
服务端图片的信息被转化成字符串,传到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 中Handler 引起的内存泄露
- Mac下编译Android以及goldfish内核
- Android--ViewPager的无限轮播
- android事件拦截处理机制详解
- Android--多线程之Handler
- Android5.x RecyclerView 应用解析
- Android控件之CheckBox
- Android5.x RecyclerView 应用解析
- Android数据持久化之二:SharedPreferences 存储(上)
- Android特效 五种Toast详解
- Android IPC之Messenger
- java web与android互通的aes算法
- android ANR产生原因和解决办法
- Android之事件总线EventBus详解
- Android之封装支付宝支付
- 浅学设计模式之策略<Strategy>模式及在android中的使用
- android的Pull解析
- Android 关闭多个视图Intent.FLAG_ACTIVITY_CLEAR_TOP用法
- 使用android内置的JSon解析类来解析JSon数据
- android学习之路--Fragment之一