8

画像を base 64 エンコードから文字列に変換したい。oma_status-iconそこからxml形式でサーバーに送信します。

しかし、サーバーの応答からサポートされていないエンコーディングを取得しています....

画像をbase64文字列に変換する他の方法はありますか??

助けてください...

私のコードは次のとおりです。

        Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),  R.drawable.image);

        ByteArrayOutputStream bao = new ByteArrayOutputStream();
        bitmapOrg.compress(Bitmap.CompressFormat.JPEG, 100, bao);
        byte [] ba = bao.toByteArray();

         String ba1=Base64.encodeBytes(ba);
4

5 に答える 5

15

このコードを使用してください..

Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),  R.drawable.image);
ByteArrayOutputStream bao = new ByteArrayOutputStream();
bitmapOrg.compress(Bitmap.CompressFormat.JPEG, 100, bao);
byte [] ba = bao.toByteArray();
String ba1=Base64.encodeToString(ba,Base64.DEFAULT);

インポートしてください

import android.util.Base64;
于 2012-09-06T09:54:09.353 に答える
3
// convert from bitmap to byte array
public byte[] getBytesFromBitmap(Bitmap bitmap) {
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bitmap.compress(CompressFormat.JPEG, 70, stream);
    return stream.toByteArray();
}

// get the base 64 string
String imgString = Base64.encodeToString(getBytesFromBitmap(someImg), 
                       Base64.NO_WRAP);
于 2012-09-06T10:49:39.680 に答える
2

以下のコードを試してください

ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte b [] = baos.toByteArray();
String base64String = Base64.encodeToString(b, Base64.DEFAULT);

忘れないでimport android.util.Base64;

于 2012-09-06T09:54:44.467 に答える
1

方法:

private String bitmapToBase64(Bitmap bitmap) {

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
    byte[] byteArray = byteArrayOutputStream .toByteArray();

    return Base64.encodeToString(byteArray, Base64.DEFAULT);
}

輸入品:

import android.util.Base64;
import java.io.ByteArrayOutputStream;
于 2016-05-16T09:04:35.597 に答える
1

多分あなたは試すことができます

String base64Result = Base64.encodeToString(yourByteArray[], Base64.DEFAULT);

于 2012-09-06T09:55:44.400 に答える