java Base64介绍
2015-12-09 19:37
471 查看
Base64好多人以为是和什么md5一样,也算是加密算法,其实Base64只是帮我们转码而已,并没有涉及到加密这块,但是网上很多人把它也归类为加密的一种,做android的可能都做过图片上传这块,如果后台要求你传一个string给它,可能我们以为图片应该是file类型,怎么给string呢?其实这个时候就可以使用Base64,把一个对象转成string类型,其实就是将二进制转换成string类型,因为一个对象在内存中以二进制的形式存在,所以都是无数个0和1构成的,我们通过Base64把它转成string的话,它的长度就会变短,这样也提供了传递的速度,现在写一个android简单的项目,演示下Base64怎么用?
还有我们在传输视频或者音频的时候也可以使用Base64转码上传到服务器,
public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView iv = (ImageView) findViewById(R.id.iv); //1.得到bitmap Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); //2.bitmap-->byte[] ByteArrayOutputStream out = new ByteArrayOutputStream(); bitmap.compress(CompressFormat.PNG, 100, out); byte[] bitmapByteArr = out.toByteArray(); //3.使用base64 byte[]--String--->上传到服务器 String bitmapBase64String = Base64.encodeToString(bitmapByteArr, Base64.DEFAULT); //key-value jsonString //4.String-->byte[] byte[] bitmapByteArr2 = Base64.decode(bitmapBase64String, Base64.DEFAULT); //5.byte[]-->Bitmap -->完成图片的上传 Bitmap bitmapPassed = BitmapFactory.decodeByteArray(bitmapByteArr2, 0, bitmapByteArr2.length); //6.设置图片到imageView iv.setImageBitmap(bitmapPassed); } }
还有我们在传输视频或者音频的时候也可以使用Base64转码上传到服务器,
相关文章推荐
- struts2 中请求转发与请求重定向方法
- Java加深理解有关注释
- java设置环境变量
- struts2配置文件中的include和global-results
- Spring-jdbc-事务处理详解及案例<五>
- java异常——分析堆栈跟踪元素+使用异常机制的技巧
- java代码实现贪心算法删除数字问题
- java基础第二天——基础语法
- java的输入输出
- Spring整合ActiveMQ 实现消息服务
- JAVA Hibernate工作原理及为什么要用
- Java解析XML的四种方法详解
- Javadoc的Html文件传输chm
- java异常—— finally 子句+带资源的 try语句
- java xml 特殊字符处理(dom4j)
- Spring中TransactionTemplate 简单灵活的事务配置及使用
- java内存泄露
- 将Emoji表情添加到项目中
- springMVC 引用@resource要要注意的问题
- java 自定义注解以及获得注解的值