扫码一下
查看教程更方便
在 java 8 中,base64 终于如愿以偿。 java 8 现在具有用于 base64 编码的内置编码器和解码器。 在 java 8 中,我们可以使用三种 base64 编码。
a-za-z0-9 /
中的一组字符。 编码器不会在输出中添加任何换行符,解码器会拒绝除 a-za-z0-9 /
之外的任何字符。a-za-z0-9 _
中的字符集。 输出是 url 和文件名安全的。mime
友好格式。 输出以每行不超过 76 个字符的行表示,并使用回车“\r”后跟换行“\n”作为行分隔符。 编码输出的末尾没有行分隔符。序号 | 嵌套类 | 描述 |
---|---|---|
1 | static class base64.decoder | 此类实现了一个解码器,用于使用 rfc 4648 和 rfc 2045 中指定的 base64 编码方案来解码字节数据。 |
2 | static class base64.encoder | 此类实现了一个编码器,用于使用 rfc 4648 和 rfc 2045 中指定的 base64 编码方案对字节数据进行编码。 |
序号 | 方法 | 描述 |
---|---|---|
1 | static base64.decoder getdecoder() | 返回使用基本类型 base64 编码方案解码的 base64.decoder。 |
2 | static base64.encoder getencoder() | 返回使用基本类型 base64 编码方案进行编码的 base64.encoder。 |
3 | static base64.decoder getmimedecoder() | 返回使用 mime 类型 base64 解码方案解码的 base64.decoder。 |
4 | static base64.encoder getmimeencoder() | 返回使用 mime 类型 base64 编码方案进行编码的 base64.encoder。 |
5 | static base64.encoder getmimeencoder(int linelength, byte[] lineseparator) | 返回使用具有指定行长和行分隔符的 mime 类型 base64 编码方案进行编码的 base64.encoder。 |
6 | static base64.decoder geturldecoder() | 返回使用 url 和文件名安全类型 base64 编码方案解码的 base64.decoder。 |
7 | static base64.encoder geturlencoder() | 返回使用 url 和文件名安全类型 base64 编码方案进行编码的 base64.encoder。 |
此类从以下类继承方法
下面是base64的一个简单的示例
import java.util.base64; import java.util.uuid; import java.io.unsupportedencodingexception; public class helloworld { public static void main(string args[]) { try { // 使用基本编码器编码 string base64encodedstring = base64.getencoder().encodetostring( "tutorialspoint?java8".getbytes("utf-8")); system.out.println("base64 encoded string (basic) :" base64encodedstring); // 解码 byte[] base64decodedbytes = base64.getdecoder().decode(base64encodedstring); system.out.println("original string: " new string(base64decodedbytes, "utf-8")); base64encodedstring = base64.geturlencoder().encodetostring( "tutorialspoint?java8".getbytes("utf-8")); system.out.println("base64 encoded string (url) :" base64encodedstring); stringbuilder stringbuilder = new stringbuilder(); for (int i = 0; i < 10; i) { stringbuilder.append(uuid.randomuuid().tostring()); } byte[] mimebytes = stringbuilder.tostring().getbytes("utf-8"); string mimeencodedstring = base64.getmimeencoder().encodetostring(mimebytes); system.out.println("base64 encoded string (mime) :" mimeencodedstring); } catch(unsupportedencodingexception e) { system.out.println("error :" e.getmessage()); } } }
上述代码示例运行结果如下所示