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

5-2-2、Java Base64.Encoder.encode(byte[] src, byte[] dst) 方法

几个T的资料等你来白嫖
双倍快乐
资源帮找!!!

Java java.util.Base64.Encoder 类提供的 encode(byte[] src, byte[] dst) 方法使用 Base64 编码方案对指定字节数组中的所有字节进行编码,并将结果字节写入给定的输出字节数组。

( Java > 8 )

方法原型

public int encode(byte[] src, byte[] dst)

该方法使用 Base64 编码方案对指定字节数组中的所有字节进行编码,并将结果字节写入给定的输出字节数组。

输入和输出都是从偏移量 0 开始。

调用此方法需要确保输出字节数组 dst 有足够的空间来解码输入字节数组中的所有字节。如果输出字节数组不够大,则不会将任何字节写入输出字节数组

因为使用 Base64 编码后的数据可能是原来数据的 4-8 倍,所以申请的 byte[] 长度大概是原数据的长度的 8 倍即可。

参数说明

参数 说明
src 要编码的字节数组
dst 保存编码后数据的字节数组

返回值

返回写入到 dst 字节数组中的字节长度。

异常

异常 说明
IllegalArgumentException 如果输出字节数组 dst 没有足够的空间,那么会抛出此异常。

范例

下面的代码简单的演示了 byte[] encode(byte[] src) 的使用

Base64Tester.java

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

public class Base64Tester {

   public static void main(String args[]) {

      try {
         byte[] raw= "Java 8 Base64 编码解码 - Java8新特性 - 大白菜博客".getBytes("utf-8");

         byte[] base64encoded = new byte[raw.length * 8];

         Base64.getEncoder().encode(raw,base64encoded);

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

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

运行以上代码,输出结果如下

[dabaicai@www.cmsblogs.cn helloworld]$ javac Base64Tester.java  && java Base64Tester
SmF2YSA4IEJhc2U2NCDnvJbnoIHop6PnoIEgLSBKYXZhOOaWsOeJueaApyAtIOeugOWNleaVmeeoiw==
赞(0) 打赏
版权归原创作者所有,任何形式转载请联系我们:大白菜博客 » 5-2-2、Java Base64.Encoder.encode(byte[] src, byte[] dst) 方法

评论 抢沙发

3 + 4 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

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

支付宝扫一扫打赏

微信扫一扫打赏