Ada*_*dam 258
使用Java 8解决方案.注意仍然可以使用DatatypeConverter,但它现在位于java.xml.bind需要包含的模块中.
module org.example.foo {
requires java.xml.bind;
}
Run Code Online (Sandbox Code Playgroud)
Java 8现在提供java.util.Base64base64的编码和解码.
编码
byte[] message = "hello world".getBytes(StandardCharsets.UTF_8);
String encoded = Base64.getEncoder().encodeToString(message);
System.out.println(encoded);
// => aGVsbG8gd29ybGQ=
Run Code Online (Sandbox Code Playgroud)
解码
byte[] decoded = Base64.getDecoder().decode("aGVsbG8gd29ybGQ=");
System.out.println(new String(decoded, StandardCharsets.UTF_8));
// => hello world
Run Code Online (Sandbox Code Playgroud)
从Java 6开始,javax.xml.bind.DatatypeConverter可以使用鲜为人知的类.这是JRE的一部分,不需要额外的库.
编码
byte[] message = "hello world".getBytes("UTF-8");
String encoded = DatatypeConverter.printBase64Binary(message);
System.out.println(encoded);
// => aGVsbG8gd29ybGQ=
Run Code Online (Sandbox Code Playgroud)
解码
byte[] decoded = DatatypeConverter.parseBase64Binary("aGVsbG8gd29ybGQ=");
System.out.println(new String(decoded, "UTF-8"));
// => hello world
Run Code Online (Sandbox Code Playgroud)
Kev*_*sox 12
在Apache Commons中,commons-codec-1.7.jar包含一个可用于编码的Base64类.
通过Maven:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>20041127.091804</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
166860 次 |
| 最近记录: |