Java新特性之Base64编码

什么是Base64编码

   java.util.Base64
是Java 8引入的对字符进行编码解码的类库。

为什么要Base64编码

  对字符进行编码和解码,可以运用于字符串,URL,MIME中。

如何使用Base64编码

内嵌类

说明
static class Base64.Decoder 该类实现一个解码器用于,使用 Base64 编码来解码字节数据
static class Base64.Encoder 该类实现一个编码器,使用 Base64 编码来编码字节数据。

方法

方法 说明
static Base64.Decoder getDecoder() 返回一个 Base64.Decoder ,解码使用基本型 base64 编码方案。
static Base64.Encoder getEncoder() 返回一个 Base64.Encoder ,编码使用基本型 base64 编码方案。
static Base64.Decoder getMimeDecoder() 返回一个 Base64.Decoder ,解码使用 MIME 型 base64 编码方案。
static Base64.Encoder getMimeEncoder() 返回一个 Base64.Encoder ,编码使用 MIME 型 base64 编码方案。
static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) 返回一个 Base64.Encoder ,编码使用 MIME 型 base64 编码方案,可以通过参数指定每行的长度及行的分隔符。
static Base64.Decoder getUrlDecoder() 返回一个 Base64.Decoder ,解码使用 URL 和文件名安全型 base64 编码方案。
static Base64.Encoder getUrlEncoder() 返回一个 Base64.Encoder ,编码使用 URL 和文件名安全型 base64 编码方案。

实例

import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class Test12 {
	public static void main(String[] args) {
		String s = "huangdayu.cn";
		s = encoder(s);
		System.out.println(s);
		s = decoder(s);
		System.out.println(s);
	}

	/***
	 * 加密
	 * @param s
	 * @return
	 */
	public static String encoder(String s) {
		return Base64.getEncoder().encodeToString(s.getBytes(StandardCharsets.UTF_8));
	}

	/***
	 * 解密
	 * @param s
	 * @return
	 */
	public static String decoder(String s) {
		return new String(Base64.getDecoder().decode(s), StandardCharsets.UTF_8);
	}
}

输出结果

aHVhbmdkYXl1LmNu
huangdayu.cn

参考文献

Java 8 官方文档

Java 8 新特性

Java 8 新特性终极指南

原文 

https://www.huangdayu.cn/2019/04/15/Java新特性之Base64编码/

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Java新特性之Base64编码

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址