Java Base64.Encoder.encodeToString(byte[] src) 方法
Java java.util.Base64.Encoder
类提供的 withoutPadding()
方法返回一个 Base64.Encoder 实例,该实例与当前实例等效编码,不同的是前者不会在编码字节数据的末尾添加任何填充字符.
( Java > 8 )
方法原型
public Base64.Encoder withoutPadding()
该方法返回一个 Base64.Encoder 实例,该实例与当前实例等效编码,不同的是前者不会在编码字节数据的末尾添加任何填充字符。
原编码器实例的编码方案不受此调用的影响。返回的编码器实例应该用于非填充编码操作。
返回值
返回一个 Base64.Encoder 实例,该实例与当前实例等效编码,不同的是前者不会在编码字节数据的末尾添加任何填充字符
范例
下面的代码简单的演示了普通的 Base64.Encoder
实例和 withoutPadding()
返回的实例有和不同
Base64Tester.java
import java.util.Base64; import java.nio.ByteBuffer; import java.io.UnsupportedEncodingException; public class Base64Tester { public static void main(String args[]) { try { Base64.Encoder encoder = Base64.getEncoder(); Base64.Encoder nopadding_encoder = encoder.withoutPadding(); String raw = "Java 8 Base64 编码解码 - Java8新特性 - 简单教程"; String encodedString = encoder.encodeToString(raw.getBytes("utf-8")); System.out.println(encodedString); String encodedString2 = nopadding_encoder.encodeToString(raw.getBytes("utf-8")); System.out.println(encodedString2); } catch(UnsupportedEncodingException e) { System.out.println("异常:" + e.getMessage()); } } }
运行以上代码,输出结果如下
[yufei@www.twle.cn helloworld]$ javac Base64Tester.java && java Base64Tester SmF2YSA4IEJhc2U2NCDnvJbnoIHop6PnoIEgLSBKYXZhOOaWsOeJueaApyAtIOeugOWNleaVmeeoiw== SmF2YSA4IEJhc2U2NCDnvJbnoIHop6PnoIEgLSBKYXZhOOaWsOeJueaApyAtIOeugOWNleaVmeeoiw
差别就是 withoutPadding()
并不会自动填充 =
号