如何将图像LONGBLOB从数据库转换为android中的base64编码字符串?

时间:2017-03-17 18:20:13

标签: java android android-studio

我有一个String longblobimage,取自mysql数据库,如何将其转换为base64字符串,我怎么知道它是否已经是编码图像?

这是我的尝试:

 public String checkForEncode(String string) {
    String regex = "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$";
    if(string.matches(regex)){
        System.out.println("ERROR33:it's a Base64");
        return string;
    }
    String encodedImage = Base64.encodeToString(string.getBytes(), Base64.DEFAULT);
    return encodedImage;
}

到目前为止,由于某种原因,这对我不起作用

1 个答案:

答案 0 :(得分:0)

您要导入哪些内容才能访问

Base64.encodeToString(string.getBytes(),Base64.DEFAULT)

我正在试图弄清楚它是如何工作的,但Base64甚至没有记录采用编码类型的静态方法。

您可以将字符串转换为base64 byteArray,这可能是您将图像存储到文件中的方式。

Java中的String是UTF-16编码的,因此将Base64编码的byteArray存储回String中没有意义,因为这会再次改变编码。

byte [] encoded = Base64.encodeBase64(string.getBytes());