0
点赞
收藏
分享

微信扫一扫

android base64数据转换成bitmap时,选择Base64.DEFAULT模式报bad base-64,选择Base64.URL_SAFE模式decodeByteArray报空指针

得一道人 2022-03-17 阅读 47
android
Base64.decode解码时选择Base64.DEFAULT一定要把code数据的前缀去掉(data:image/png;base64,)
String code="data:image/png;base64,iVBORw0KGgoAAAANSUhEU..."
String replaceCode = code.replace("data:image/png;base64,", "");
byte[] bitmapByte = Base64.decode(replaceCode, Base64.DEFAULT);
Bitmap  bitmap = BitmapFactory.decodeByteArray(bitmapByte, 0, bitmapByte.length);

网上还有一个说法是(根据这个说法改成Base64.URL_SAFE,Base64.decode解码会通过,但是BitmapFactory.decodeByteArray又会报空指针):在涉及到服务器的软件中,由于使用android的Base64解码功能,而服务器端加密为了防止URL格式问题,会采用Apache的URLSafeEncode等方式进行数据安全加密,android端使用Base64.decode(src,Base64.URL_SAFE)不会出现问题 但是如果android自己加密,使用的时Base64.encodeToString(bstr,Base64.DEFAULT)就会有可能出现

举报

相关推荐

0 条评论