Android(安卓)Base64编码解码
16lz
2021-01-25
服务端图片的信息被转化成字符串,传到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——为图片增加水印,并且保存到图库刷新
- android ImageView 图片宽度全屏,高度自适应的写法
- android客户端连接人人网之二----获取朋友信息
- android的日志输出和单元测试
- 【转】Android有效解决加载大图片时内存溢出的问题
- Android手机拍照(Android学习随笔九)
- 图片处理
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveI
- android中的hdpi,ldpi,mdpi