Java学习笔记-封装Java Util包Base64方法
懒人菜鸟入门Java系列-习惯性封装常用方法,方便开发过程中调用
注释: Java版本-1.8
1 * @Author wuwenchao
2 * @Version 1.0.0
3 * @Date 2022/4/29 10:07
4 */
5
6 import java.io.UnsupportedEncodingException;
7 import java.util.Base64;
8
9 /**
10 * 封装Java Util包Base64方法
11 *
12 * @author wuwenchao
13 * @Date 2022-04-29 10:07
14 **/
15 public class JavaBase64Utils {
16
17 public static final String encodingUTF_8 = "UTF-8";
18 public static Base64.Encoder encoder;
19 public static Base64.Decoder decoder;
20
21 static {
22 decoder = Base64.getDecoder();
23 encoder = Base64.getEncoder();
24 }
25
26 /**
27 * byte[] Base64编码
28 *
29 * @Author wuwenchao
30 * @Date 2022/4/29 10:11
31 */
32 public static byte[] encodeBase64(byte[] bytes) {
33 return encoder.encode(bytes);
34 }
35 /**
36 * 字符串 Base64编码
37 *
38 * @Author wuwenchao
39 * @Date 2022/4/29 10:11
40 */
41 public static String encodeBase64(String source) {
42 byte[] bytes = encodeBase64(source.getBytes());
43 try {
44 return new String(bytes, encodingUTF_8);
45 } catch (UnsupportedEncodingException ex) {
46 ex.printStackTrace();
47 }
48 return null;
49 }
50 /**
51 * byte[] Base64编码为 字符串
52 *
53 * @Author wuwenchao
54 * @Date 2022/4/29 10:11
55 */
56 public static String encodeBase64String(byte[] bytes) {
57 return encoder.encodeToString(bytes);
58 }
59 /**
60 * 字符串 Base64编码为 byte[]
61 *
62 * @Author wuwenchao
63 * @Date 2022/4/29 10:11
64 */
65 public static byte[] encodeBase64Byte(String source) {
66 byte[] bytes = encodeBase64(source.getBytes());
67 return bytes;
68 }
69 /**
70 * Base64Byte 解码
71 *
72 * @Author wuwenchao
73 * @Date 2022/4/29 10:11
74 */
75 public static byte[] decodeBase64(byte[] bytes) {
76 return decoder.decode(bytes);
77 }
78 /**
79 * Base64字符串 解码为 byte[]
80 *
81 * @Author wuwenchao
82 * @Date 2022/4/29 10:11
83 */
84 public static byte[] decodeBase64Byte(String string) {
85 return decoder.decode(string.getBytes());
86 }
87 /**
88 * Base64Byte 解码为字符串
89 *
90 * @Author wuwenchao
91 * @Date 2022/4/29 10:11
92 */
93 public static String decodeBase64String(byte[] bytes) {
94 try {
95 return new String(decoder.decode(bytes),encodingUTF_8);
96 } catch (UnsupportedEncodingException e) {
97 e.printStackTrace();
98 }
99 return null;
100 }
101 /**
102 * Base64字符串 解码
103 *
104 * @Author wuwenchao
105 * @Date 2022/4/29 10:11
106 */
107 public static String decodeBase64(String string) {
108 byte[] decode = decodeBase64(string.getBytes());
109 try {
110 return new String(decode, encodingUTF_8);
111 } catch (UnsupportedEncodingException e) {
112 e.printStackTrace();
113 }
114 return null;
115 }
116 }
Java学习笔记-封装Java Util包Base64方法的更多相关文章
- java学习笔记—第三方操作数据库包专门接收DataSource-dbutils (30)
		Dbutils 操作数据第三方包.依赖数据源DataSource(DBCP|C3p0). QueryRunner – 接收DataSource|Connection,查询数据删除修改操作.返回结果. ... 
- java学习笔记—第三方数据库连接池包1(29)
		第一步:导入dbcp包 第二步:通过核心类连接数据 BasicDataSource它是javax.sql.DataSrouce的子类. 一个工具类:BasicDataSourceFactory. 手工 ... 
- Java学习笔记十:Java的数组以及操作数组
		Java的数组以及操作数组 一:什么是数组: 数组可以理解为是一个巨大的“盒子”,里面可以按顺序存放多个类型相同的数据,比如可以定义 int 型的数组 scores 存储 4 名学生的成绩 数组中的元 ... 
- Java学习笔记(6)---正则表达式,方法
		1.正则表达式: a.定义: 正则表达式定义了字符串的模式. 正则表达式可以用来搜索.编辑或处理文本. 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别. 在Java,一个字符串其实就是一 ... 
- java 学习笔记1  java语言概述及开发环境
		高级语言运行机制 高级语言按程序的执行方式分为编译型和解释型两种. java语言比较特殊,Java程序的执行必须经过先编译后解释的步骤. 1 编译生成字节码,只面向JVM(.class) 2Jvm执行 ... 
- Java 学习笔记 (三) Java 日期类型
		以下内容摘自: https://www.cnblogs.com/crazylqy/p/4172324.html import java.sql.Timestamp; import java.text ... 
- Java学习笔记之—Java基础
		将学习到的JAVA基础用xmind记录了下来,需要原件的可以私信 
- Java学习笔记--通过java.net.URLConnection发送HTTP请求
		http://www.cnblogs.com/nick-huang/p/3859353.html 使用Java API发送 get请求或post请求的步骤: 1. 通过统一资源定位器(java.net ... 
- JAVA学习笔记之JAVA 对象引用以及赋值
		关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用, 那实在没 ... 
- Java学习笔记三:Java的变量、常量、变量的类型及使用规则
		Java的变量.常量.变量的类型及使用规则 每一种语言都有一些具有特殊用途的词,Java也不例外,它们被称为关键字.关键字对 Java 的编译器有着特殊的意义. 一:Java中的关键字: 注:Java ... 
随机推荐
- centos7 python设置虚拟环境
			virtualenv 是一个可以在同一计算机中隔离多个python版本的工具.有时,两个不同的项目可能需要不同版本的python,如 python2.6.6 / python3.0 ,但是如果都装到一 ... 
- Solution - ARC152D Halftree
			首先 \(n\) 为偶数时无解,这是显然的,因为一次加两条边,总边数一定是偶数. 下面我们证明 \(n\) 为奇数时一定有解,直接进行构造. 首先将每一个点编号加上 \(k\) 再模 \(n\) 的答 ... 
- 0xc0000142怎么修复
			0xc0000142怎么修复 参考链接 https://jingyan.baidu.com/article/4d58d54102f3d29dd4e9c0b1.html 
- conda出现Solving environment: failed错误
			conda在使用create新建环境和install安装时报错"Solving environment: failed" 报错截图 解决方案 1.在cmd中输入 %HOMEPAT ... 
- 2019-2020-1 20199318《Linux内核原理与分析》第十二周作业
			<Linux内核原理与分析> 第十二周作业 一.预备知识 Set-UID 是 Unix 系统中的一个重要的安全机制.当一个 Set-UID 程序运行的时候,它被假设为具有拥有者的权限.例如 ... 
- idea集成maven插件  使用骨架创建maven的java工具  不使用骨架创建maven的java工程
			idea集成maven插件 使用骨架创建maven的java工具 new-->FIle-->Model 选择Maven对勾选上要不不能使用骨架 找到这个,选上下一步 Finish即可 ... 
- 动画图解 Git 的 10 大命令
			原文地址:https://dev.to/lydiahallie/cs-visualized-useful-git-commands-37p1 原文作者:Lydia Hallie 前言 尽管 Git 是 ... 
- ubuntu 20.04 更新镜像源
			首先备份系统自带的源,以防修改错误! 命令: sudo cp /etc/apt/sources.list /etc/apt/sources.list.back 1.修改系统镜像源 文件目录:/etc/ ... 
- noi 1.1 5 输出保留12位小数的浮点数
			描述 读入一个双精度浮点数,保留12位小数,输出这个浮点数. 输入 只有一行,一个双精度浮点数. 输出 也只有一行,保留12位小数的浮点数. 样例输入 3.1415926535798932 样例输出 ... 
- Surface Pro (1796),安装Win11之后出现的问题。
			2020年年中我为了体验微软新的操作系统,加入了Review计划,即:Windows预览体验计划.然后升级到了Win11.由于苏菲一直是作为辅助设备用,所以平时就是开节电模式,中途也升级了几次Win1 ... 
