我需要在 Java 中以 Base64 编码对一些数据进行编码。我怎么做?提供 Base64 编码器的类的名称是什么?
我尝试使用 sun.misc.BASE64Encoder
类,但没有成功。我有以下 Java 7 代码行:
wr.write(new sun.misc.BASE64Encoder().encode(buf));
我正在使用 Eclipse。 Eclipse 将此行标记为错误。我导入了所需的库:
import sun.misc.BASE64Encoder;
import sun.misc.BASE64Decoder;
但同样,它们都显示为错误。我 在这里找到了类似的帖子。
我使用 Apache Commons 作为建议的解决方案,包括:
import org.apache.commons.*;
并导入从以下网址下载的 JAR 文件:http: //commons.apache.org/codec/
但问题仍然存在。 Eclipse 仍然显示前面提到的错误。我应该怎么办?
原文由 Jury A 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要更改类的导入:
然后更改您的类以使用 Base64 类。
这是一些示例代码:
然后阅读 为什么不应该使用 sun.* packages 。
更新(2016-12-16)
您现在可以在 Java 8 中使用
java.util.Base64
。首先,像往常一样导入它:然后使用 Base64 静态方法如下:
如果您直接想对字符串进行编码并将结果作为编码字符串获取,则可以使用:
有关更多信息,请参阅 Base64 的 Java 文档。