欢迎您的访问
专注于分享最有价值的互联网技术干货

5-1、Java java.util.Base64.Decoder 类

几个T的资料等你来白嫖
双倍快乐
一定要收藏这个宝藏网站防止丢失,求助资源~!!!

Java java.util.Base64.Decoder 类是 java.util.Base64 类的一个内部静态类。该类提供了一些方法用于解码 Base64 格式的数据。

( JAVA >= 8 )

java.util.Base64.Decoder 类

java.util.Base64.Decoder 类的定义如下

public static class Base64.Decoder extends Object

java.util.Base64.Decoder 类实现了一个解码器,使用 RFC 4648RFC 2045 中规定的 Base64 编码方案解码数据。

Decode 类接受 Base64 填充字符 = 并将其解释为编码数据的结尾。但 = 并不是必需的。因此,即使编码的数据的最后一个单元只有两个或三个Base64 字符( 没有填充相应的填充字符 ),它们也能被解码,就好像后跟填充字符一样。

但是,如果最终单元中存在填充字符,则必须存在正确数量的填充字符,否则在解码期间会抛出 IllegalArgumentException 异常( 从 Base64 流读取时发生 IOException )。

java.util.Base64.Decoder 类的实例是线程安全的。可以安全的在多个并发线程使用。

除非另有说明,否则将 null 参数传递给此类的方法将导致抛出 NullPointerException

java.util.Base64.Decoder 类的方法

方法 说明
byte[] decode(byte[] src) 使用 Base64 编码方案解码输入字节数组中的所有字节,将结果写入新分配的输出字节数组。
int decode(byte[] src, byte[] dst) 使用 Base64 编码方案解码输入字节数组中的所有字节,将结果写入给定的输出字节数组,从偏移量 0 开始
ByteBuffer decode(ByteBuffer buffer) 使用 Base64 编码方案解码输入字节缓冲区中的所有字节,将结果写入新分配的 ByteBuffer
byte[] decode(String src) 使用 Base64 编码方案将 Base64 编码的 String 解码到新分配的字节数组中
InputStream wrap(InputStream is) 返回用于解码 Base64 编码字节流的输入流

上面这 5 个方法,可以说都是 decode 方法各种重载,接收各种类型的数据,也支持将结果输出为相应类型。

获取 java.util.Base64.Decoder 类的实例

java.util.Base64 类提供了三个静态方法可以返回 java.util.Base64.Decoder 类的实例

方法 说明
Base64.Decoder getDecoder() 返回一个 Base64.Decoder 类型的 简单 解码器
Base64.Decoder getMimeDecoder() 返回一个 Base64.Decoder 类型的 MIME 解码器
Base64.Decoder getUrlDecoder() 返回一个 Base64.Decoder 类型的 URL 和文件名安全的解码器

范例一:

我们写一个范例演示下 byte[] decode(String src) 方法的使用

Base64Tester.java

import java.util.Base64;
import java.io.UnsupportedEncodingException;

public class Base64Tester {

   public static void main(String args[]) {

      try {

         String base64encodedString = "SmF2YSA4IEJhc2U2NCDnvJbnoIHop6PnoIEgLSBKYXZhOOaWsOeJueaApyAtIOeugOWNleaVmeeoiyA=";

         byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString);

         System.out.println(new String(base64decodedBytes, "utf-8"));

      } catch(UnsupportedEncodingException e) {
         System.out.println("异常:" + e.getMessage());
      }
   }
}

运行以上范例,输出结果如下

[dabaicai@www.cmsblogs.cn helloworld]$ javac Base64Tester.java  && java Base64Tester
Java 8 Base64 编码解码 - Java8新特性 - 大白菜博客
赞(2) 打赏
版权归原创作者所有,任何形式转载请联系我们:大白菜博客 » 5-1、Java java.util.Base64.Decoder 类

评论 抢沙发

9 + 7 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏