网站首页 > 技术文章 正文
Base64图片的解码_编码,方法很多,网上也一大堆.但是要注意:
比如下面:
data:image/jpg;base64,/9j/4AEKW0lEOjEzODUwLGV2dDowXQpbc2NlbmVfaWQ6MF0KW2ZhY2UgcmVjdDowLjc4MzMoMCksIDAuNDkwOCgwKSwgMC4wODEyKDApLCAwLjE0MTUoMCldCnU4X21hcmtbdThfc2hkX3JzdDowXVt1OF95YXdfcnN0OjBdW3U4X3BpaF9yc3Q6MF1bY2xlcml0eTowLjAwMDAwMF1bZGVtaXNyZXBvcnQ6MC4wMDAwMDBdW3U4X2V5ZV9C/9k=
这一个base64编码,注意不是一个完整的,我故意删除了部分内容.
data:image/jpg;base64,
可以看到最前面有这个部分,这个部分一定要注意
如果要把base64,转换成bitmap的话,这里不能带有上面这个部分,如果带着,转换不成功.
/**
* 将图片转换为Base64格式字符串
*
* @param drawableId 图片资源id,如:R.drawable.ic_action
* @return Base64格式字符串
*/
public String drawableToString(int drawableId) {
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), drawableId);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
byte[] bytes = byteArrayOutputStream.toByteArray();
byte[] encode = Base64.encode(bytes, Base64.DEFAULT);
return new String(encode);
}
这个方法一定要注意,要在androidstudio的Activity中,才能用,因为有个getResources(),这个需要在activity的类中才能使用.
写到一个单纯的utils类中会报错的.
/**
* 将Base64格式字符串转换为位图
*
* @param encodeString 图片的Base64格式字符串
* @return 位图
*/
public static Bitmap stringToBitmap(String encodeString) {
byte[] bytes = Base64.decode(encodeString, Base64.DEFAULT);
return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
}
猜你喜欢
- 2024-10-16 【验证码逆向专栏】百某网数字九宫格验证码逆向分析
- 2024-10-16 jquery-利用canvas让图片旋转角度
- 2024-10-16 一文带你搞懂JS实现压缩图片 js压缩上传图片
- 2024-10-16 前端性能优化之请求优化 前端性能优化问题
- 2024-10-16 Serverless 实战:如何为你的头像增加点装饰?
- 2024-10-16 谈谈图片上传及canvas压缩的流程 js 图片压缩后上传
- 2024-10-16 妹子委婉地和男友说没钱了,结果差点换来一张luo照?
- 2024-10-16 Blob-对象介绍 对象object
- 2024-10-16 《小白HTML5成长之路51》canvas压缩图片上传功能的原理
- 2024-10-16 Dom-to-image截图将html生成图片 html2canvas截图
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)