java - 将 Base 64 图像解码为位图 Android

标签 java android base64

我在服务器上有这张 base64 格式的图片

iVBORw0KGgoAAAANSUhEUgAAAKcAAABACAIAAADwNfCBAAABc0lEQVR42u3awU7EIBRA0f7/T+ti\r\nYtNQeIWBplTOXZpo9B1gaOP2o/XajIC6qIu6qIu6qIu6qIu6qIu6qIu6qIu6qIu6qFMXdVEXdVFP\r\nftxfE/2Fh3iPV9/HOsl8E2zw49WPA51huCVj8P9cvenr1HtH/PhkP79AdrtTH6M+4WR3dXv9AfWe\r\nEfdcvEvqyMeo15MHEz8Dd66bJvUFl8LD6smT1SiS8yERXOmpD1OvJK+8crfalE6OyV8wvEM9sLxU\r\nr18WwdXscqHEy2W2p823qmd3T/a8rXy2/mI7Vh4Msz1tvl69ybjmJVrP8Y78XvV93MFGz37iXq6D\r\nserxOUS97cH6fPPKLoLg9M6um9J3Nd024pWaRL1hu5ewE7PSi9LgI7yJpPL6tvJ7m204eelUr5xv\r\nP4MXcDeq33EhQj61+rR3YOorqusudeTUqa+njpy6FlBHvpy6fy9fTh35is/roi7qoi7qoi7qoi7q\r\noi7qoi7qyvYLRlwpio989F0AAAAASUVORK5CYA==

我正在测试在位图中显示图像,

byte [] byteArray = android.util.Base64.decode(input, android.util.Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);

但是位图总是空的,知道吗?谢谢

最佳答案

您的 Base64 字符序列中有换行符。尝试摆脱它们。我说的是这个:\r\n。试试这个:(因为我不知道你是如何格式化字符串的):

input = input.replace("\r\n", "").replace("\\r\\n", "");

关于java - 将 Base 64 图像解码为位图 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19430209/

相关文章:

java - 约束布局 : Unable to Wrap_Content and Stack RecyclerView Items

java - Java 中的 SHOUTcast 服务器

Android在ImageView上缩放、拖动、绘制

android - 如何在 flutter 中阅读收到的通知

java - 如何在 Ant 中使用带有 loadproperties 的 Base64 编码?

java - 如何在Json中定义一个数据结构,结构的顶部是对象的名称?

java - 如何配置 EclipseLink 2.0 和 Spring 3.0.5 以及 Tomcat 6?

java - 如何在arcore Android应用程序中将一个3D模型覆盖在另一个上

Java PBEwithMD5andDES解密问题

dart - 使用 flutter 将在线图像 uri 转换为 base64