You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio图片转Base64时Base64.DEFAULT找不到符号报错如何解决?

报错原因

你触发编译错误的核心原因是Base64工具类的包导入错误:

  • 你当前代码导入的是Java原生的java.util.Base64,该类没有DEFAULT常量,也不存在两个入参的encodeToString重载方法,因此抛出cannot find symbol错误
  • 你写的代码语法适配的是Android系统自带的android.util.Base64,只有这个类支持Base64.DEFAULT配置和对应的encodeToString(byte[] input, int flags)调用方式
解决方案

方案1(推荐,适配Android场景)

找到你代码文件头部的import语句,将:

import java.util.Base64;

替换为:

import android.util.Base64;

替换后你贴的两个私有方法无需修改内部逻辑,即可正常编译运行。
如果修改导入后仍有冲突,可直接使用全类名调用避免和自定义类重名冲突:

return android.util.Base64.encodeToString(imageBytes, android.util.Base64.DEFAULT);

方案2(如需使用Java原生Base64)

如果你确实需要使用java.util.Base64,可将方法改写为如下形式:

private String GetStringImagen(Bitmap bitmap){
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.JPEG,100, baos);
    byte[] imageBytes = baos.toByteArray();
    return java.util.Base64.getEncoder().encodeToString(imageBytes);
}

内容的提问来源于stack exchange,提问作者JUAN MIGUEL DIAZ HERNANDEZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 02:18:04