如何将图像转换为base64字符串

时间:2012-09-06 09:50:22

标签: android xml encoding base64 encode

我想将图像转换为base 64编码为字符串。从那里发送到oma_status-icon xml格式的服务器。

但是我从服务器响应中获得了不受支持的编码....

有没有其他方法可以将图像转换为base64字符串??

... plz..help

我的代码是:

        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);

5 个答案:

答案 0 :(得分: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;

答案 1 :(得分: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);

答案 2 :(得分: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;

答案 3 :(得分:1)

也许你可以试试

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

答案 4 :(得分: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;