您的位置:首页 > 编程语言 > Java开发

java Base64介绍

2015-12-09 19:37 471 查看
Base64好多人以为是和什么md5一样,也算是加密算法,其实Base64只是帮我们转码而已,并没有涉及到加密这块,但是网上很多人把它也归类为加密的一种,做android的可能都做过图片上传这块,如果后台要求你传一个string给它,可能我们以为图片应该是file类型,怎么给string呢?其实这个时候就可以使用Base64,把一个对象转成string类型,其实就是将二进制转换成string类型,因为一个对象在内存中以二进制的形式存在,所以都是无数个0和1构成的,我们通过Base64把它转成string的话,它的长度就会变短,这样也提供了传递的速度,现在写一个android简单的项目,演示下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转码上传到服务器,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: