我正在使用 Jsoup 解析器选择图像
Elements images = document.select("img");
String src = images.attr("src");
然后使用这段代码来摆脱data:image/jpg;base64
pureImageSrc = imageSrc.substring(imageSrc.indexOf(",") + 1);
现在我有了正确的 64 进制字符串(我猜),它的开头和结尾如下
/9j/4AAQSkZJRgABAQEASABIAAD/4Vl6RXhpZgAAT...............lbRIluL+9/56L+VFOoqhH/2Q==
最后,我将其解码并设置在图像视图中
byte[] decodedString = Base64.decode(pureImageSrc, Base64.URL_SAFE);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
imageView.setImageBitmap(decodedByte);
但得到这个例外:java.lang.IllegalArgumentException: bad base-64
这其中缺少什么?
您正在使用标志进行解码Base64.URL_SAFE
它使用-
and _
代替+
and /
,您的 base64 字符串包括/
。尝试将标志更改为Base64.DEFAULT
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)