Java8新特性之Base64编码
									在Java8中,提供了一种新特性,就是将Base64编码引入到Java类库中
Java8中内置了Base64编码和解码方法
三种Base64位内容编码方法,如下所示:
Base64编码解码方案
Base64涉及类
	
		
 Base64所涉及的方法,如下表所示
	
		
 例:
Base64编码及解码的示例分享 
									
				 
				Java8中内置了Base64编码和解码方法
三种Base64位内容编码方法,如下所示:
Base64编码解码方案
- 基本:
 输出被映射到一组字符A-Za-z0-9+/,编码不添加任何行标,输出的解码仅支持A-Za-z0-9+/
- URL:
 输出映射到一组字符A-Za-z0-9+_,输出是URL和文件
- MIME:
 输出隐射到MIME友好格式。输出每行不超过76字符,并且使用'\r'并跟随'\n'作为分割。编码输出最后没有行分割
Base64涉及类
| 编号 | 内嵌类 & 备注信息 | 
|---|---|
| 1 | static class Base64.Decoder 此类下面放入了一些Base64解码的方法 | 
| 2 | static class Base64.Encoder 此类下面放入了一些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);
	}
}
  
									
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

 
			 
                
                
                
               
 
          

