今天在做Android项目的时候遇到一个问题,需求是向服务器上传一张图片,要求把图片转化成图片流放在 json字符串里传输。

类似这样的: {"name":"jike","age":"20","pic":"图片流"} ,

把图片转化为图片流要用到 Base64 的技术。

1、Base64的作用

主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输。
由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下就可以了。

2、如何获得BASE64 代码,有两种方式

方式一:解决eclipse中无法直接使用Base64Encoder的问题

  • 今天要使用Base64Encoder,却发现在Eclipse中无法找到该类,google了哈,原来Base64Encoder并不属于JDK标准库范畴,但是又包含在了JDK中。
  • 解决方法:按照如下方法设置Eclipse导入%JAVA_HOME%\jre\lib目录下的rt.jar包即可,Project->Properties,选择Java Build Path设置项,再选择Libraries标签,
  • AddExternal Jars添加%JAVA_HOME%\jre\lib\rt.jar就可以使用啦!

方式二: 下载源代码,然后把代码导入自己的项目中

csdn下载地址: http://download.csdn.net/detail/yanzi2015/8685199

3、Base64对字符串进行编码和解码

package com.android20;import sun.misc.BASE64Decoder;public class Bian {    //将 s 进行 BASE64 编码     public static String getBASE64(String s) {         if (s == null) return null;         return (new sun.misc.BASE64Encoder()).encode( s.getBytes() );     }     //将 BASE64 编码的字符串 s 进行解码     public static String getFromBASE64(String s) {         if (s == null) return null;         BASE64Decoder decoder = new BASE64Decoder();         try {             byte[] b = decoder.decodeBuffer(s);             return new String(b);         } catch (Exception e) {             return null;         }     }}

更多相关文章

  1. 如何更改Android(安卓)程序的icon快捷方式图标?
  2. Android中TextSwitcher的功能与用法
  3. Android/JAVA 针对时间戳转今天昨天前天,以及刚刚,几分钟的显示
  4. cocos2d-x 里获取 android apk icon
  5. android中几种常用的图片处理效果
  6. Android实现支持缩放平移图片
  7. android之客户端从服务端解析数据及上传与反馈数据
  8. Android(安卓)项目中设置背景图片
  9. Android之加载图片时自定义进度条

随机推荐

  1. 第27章、流动视图ScrollView(从零开始学An
  2. Android中线程同步
  3. Android核心分析 分析方法论探讨之设计意
  4. 为Android硬件抽象层(HAL)模块编写JNI方法
  5. [Android]多module合成单一module技巧
  6. Android(安卓)外部SD卡/U盘无法写入解决
  7. 由手机Android系统的应用谈起-新媒体技术
  8. Android(安卓)Studio 使用Gradle引入第三
  9. 关于Android(安卓)如何实现mobile data o
  10. android 新交互方式