Java8新特性之Base64编码

Java-教程王 Java教程 发布时间:2021-08-28 10:27:48 阅读数:1639 1
在Java8中,提供了一种新特性,就是将Base64编码引入到Java类库中
Java8中内置了Base64编码和解码方法
三种Base64位内容编码方法,如下所示:
Base64编码解码方案
  1. 基本:
    输出被映射到一组字符A-Za-z0-9+/,编码不添加任何行标,输出的解码仅支持A-Za-z0-9+/
  2. URL:
    输出映射到一组字符A-Za-z0-9+_,输出是URL和文件
  3. MIME:
    输出隐射到MIME友好格式。输出每行不超过76字符,并且使用'\r'并跟随'\n'作为分割。编码输出最后没有行分割
例:
Base64涉及类
编号 内嵌类 & 备注信息
1 static class Base64.Decoder

此类下面放入了一些Base64解码的方法

2 static class Base64.Encoder

此类下面放入了一些Base64编码的方法

Base64所涉及的方法,如下表所示
编号 方法名 &备注说明
1 static Base64.Decoder getDecoder()

返回一个 Base64.Decoder ,解码使用基本型 base64 编码方案

2 static Base64.Encoder getEncoder()

返回一个 Base64.Encoder ,编码使用基本型 base64 编码方案

3 static Base64.Decoder getMimeDecoder()

返回一个 Base64.Decoder ,解码使用 MIME 型 base64 编码方案

4

static Base64.Encoder getMimeEncoder()

返回一个 Base64.Encoder ,编码使用 MIME 型 base64 编码方案

5 static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator)

返回一个 Base64.Encoder ,编码使用 MIME 型 base64 编码方案,可以通过参数指定每行的长度及行的分隔符

6 static Base64.Decoder getUrlDecoder()

返回一个 Base64.Decoder ,解码使用 URL 和文件名安全型 base64 编码方案

7 static Base64.Encoder getUrlEncoder()

返回一个 Base64.Encoder ,编码使用 URL 和文件名安全型 base64 编码方案

例:
Base64编码及解码的示例分享
package com.java265;

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

public class TestMain {
	/*
	 * java265.com Java8 base64
	 */
	public static void main(String[] args) throws UnsupportedEncodingException {

		String str = "Java265.com是世界上最优秀的Java教程站之一";
		byte[] bytes = str.getBytes("utf-8");// 转换为字节数组

		// 使用基本编码
		String base64encodedString = Base64.getEncoder().encodeToString(bytes);
		System.out.println("Base64 编码字符串 (基本) :" + base64encodedString);

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

		System.out.println("原始字符串: " + new String(base64decodedBytes, "utf-8"));
		base64encodedString = Base64.getUrlEncoder().encodeToString(bytes);
		System.out.println("Base64 编码字符串 (URL) :" + base64encodedString);

		// 字符串加长,展现换行效果
		StringBuilder strlist = new StringBuilder();
		for (int i = 0; i < 30; i++) {
			strList.append(str);
		}
		bytes = strList.toString().getBytes("utf-8");

		String mimeEncodedString = Base64.getMimeEncoder().encodeToString(bytes);
		System.out.println("Base64 编码字符串 (MIME) :" + mimeEncodedString);
	}
}
Java8之Base64编码的示例分享
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202108/884.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者