java Base64介绍

本文介绍Base64在Android开发中的作用及其使用方法,包括如何将图片转化为字符串进行网络传输,以及如何从字符串还原图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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转码上传到服务器,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值