哪个Java库提供base64编码/解码?

我想知道哪个库用于base64编码/解码? 我需要这个function足够稳定的生产使用。

Java 8

现在Java 8提供了用于编码和解码base64的java.util.Base64

编码

 byte[] message = "hello world".getBytes(StandardCharsets.UTF_8); String encoded = Base64.getEncoder().encodeToString(message); System.out.println(encoded); // => aGVsbG8gd29ybGQ= 

解码

 byte[] decoded = Base64.getDecoder().decode("aGVsbG8gd29ybGQ="); System.out.println(new String(decoded, StandardCharsets.UTF_8)); // => hello world 

Java 6和7

由于Java 6可以使用较less的已知类javax.xml.bind.DatatypeConverter 。 这是JRE的一部分,不需要额外的库。

编码

 byte[] message = "hello world".getBytes("UTF-8"); String encoded = DatatypeConverter.printBase64Binary(message); System.out.println(encoded); // => aGVsbG8gd29ybGQ= 

解码

 byte[] decoded = DatatypeConverter.parseBase64Binary("aGVsbG8gd29ybGQ="); System.out.println(new String(decoded, "UTF-8")); // => hello world 

在Apache Commons中 ,commons-codec-1.7.jar包含一个可用于编码的Base64类。

通过Maven:

 <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>20041127.091804</version> </dependency> 

直接下载

如果您是Android开发人员,则可以使用android.util.Base64类来实现此目的。

番石榴也有Base64(其他编码和令人难以置信的有用的东西)