画像を取得するためにWebサービスを使用しています。サービスの応答には、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 File Manager アプリケーションで開くことができます。しかし、ファイル マネージャーのプレビュー アクティビティでは、このファイルを開くことができませんでした。
次に、Convert.Base64() メソッドを使用して .NET クライアントを使用して、このデータを解析しようとします。そして、この画像は正常に処理されています。次に、Android クライアントと .NET クライアントで作成したイメージのバイト配列を比較します。違いはバイトの符号にありました。.NET は符号なしバイトを使用しますが、Java は符号付きバイトのみを使用します。これが私の問題の理由ですか?
base64Binary のデコードで同じ問題を抱えている人はいますか?