一、概述我需要使用Java中的Base64编码对一些数据进行编码。我怎么做?提供Base64编码器的类的名称是什么?
二、详解
您需要更改课程的导入:
import org.apache.commons.codec.binary.Base64;
然后更改您的类以使用Base64类。
这是一些示例代码:
byte[] encodedBytes = Base64.encodeBase64("Test".getBytes());
System.out.println("encodedBytes " + new String(encodedBytes));
byte[] decodedBytes = Base64.decodeBase64(encodedBytes);
System.out.println("decodedBytes " + new String(decodedBytes));
然后阅读为什么不应该使用sun。*软件包。
更新(2016-12-16)
现在java.util.Base64,您可以使用Java8。首先,像平常一样导入它:
import java.util.Base64;
然后使用Base64静态方法,如下所示:
byte[] encodedBytes = Base64.getEncoder().encode("Test".getBytes());
System.out.println("encodedBytes " + new String(encodedBytes));
byte[] decodedBytes = Base64.getDecoder().decode(encodedBytes);
System.out.println("decodedBytes " + new String(decodedBytes));
如果您直接想要对字符串进行编码并将结果作为编码后的字符串获取,则可以使用以下方法:
String encodeBytes = Base64.getEncoder().encodeToString((userName + ":" + password).getBytes());
有关更多信息,请参见Base64的Java文档。