哪个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(其他编码和令人难以置信的有用的东西)