我使用网络服务来获取图像。服务响应包含 base64Binary 格式的图像。我尝试使用 Base64.decode() (http://iharder.sourceforge.net/current/java/base64/)解码响应数据。请参阅下面的代码:
byte[] data = Base64.decode(responseString);
Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length);
imageView.setImageBitmap(bmp);
decodeByteArray总是返回 null。
我尝试将数据保存在 .png 文件中。我可以在我的 PC 和 Android 文件管理器应用程序中打开这个文件。但文件管理器的预览活动无法打开此文件。
然后我尝试使用带有 Convert.Base64() 方法的 .NET 客户端解析这些数据。并且此图像已成功处理。然后我比较使用 android 客户端和 .NET 客户端创建的图像中的字节数组。不同之处在于字节的符号。.NET 使用无符号字节,但 Java 仅使用有符号字节。这是我的问题的原因吗?
有人在解码base64Binary时遇到同样的问题吗?