Java 9
使用Java 8解决方案。注意DatatypeConverter仍可以使用,但现在位于
java.xml.bind模块中,需要将其包括在内。
module org.example.foo { requires java.xml.bind;}Java 8
Java8现在提供
java.util.base64了对base64进行编码和解码的功能。
编码方式
byte[] message = "hello world".getBytes(StandardCharsets.UTF_8);String enpred = base64.getEnprer().enpreToString(message);System.out.println(enpred);// => aGVsbG8gd29ybGQ=
解码
byte[] depred = base64.getDeprer().depre("aGVsbG8gd29ybGQ=");System.out.println(new String(depred, StandardCharsets.UTF_8));// => hello worldJava 6和7
从Java
6开始,
javax.xml.bind.DatatypeConverter可以使用鲜为人知的类。这是JRE的一部分,不需要额外的库。
编码方式
byte[] message = "hello world".getBytes("UTF-8");String enpred = DatatypeConverter.printbase64Binary(message);System.out.println(enpred);// => aGVsbG8gd29ybGQ=解码
byte[] depred = DatatypeConverter.parsebase64Binary("aGVsbG8gd29ybGQ=");System.out.println(new String(depred, "UTF-8"));// => hello world


