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 ...
随机推荐
- Mogdb / opengauss 用户密码错误,用户被锁
# 问题概述xxx客户新上一套opengauss数据库,在测试中程序里用户的密码配置错误,导致用户被锁# 解决方案1.跟oracle 语法一样alter user xxx account unlock ...
- vim超级替换
vim实现变量替换, 检测代码中#0-F0-FH替换为0x0-F0-F,例如#09FH替换为0x09F :%s/#\(\w\)\(\w\)\(\w\)H/0x\1\2\3/g 注: 标准格式 :s/p ...
- 51nod1355
没啥意思的板子题. 首先,众所周知, \[\gcd\{f_a,f_b\}=f_{\gcd\{a,b\}} \] 所以考虑将 \(\operatorname{lcm}\) 转化为 \(\gcd\). \ ...
- python如何提取word内的图片
解压.docx文件实现提取图片 前言 .docx文件其实也就是一个压缩文件,当我们将一个.docx文件直接解压后可以看到如下目录 其中我们要找的图片就在word/media目录内,如图 所以,要提取w ...
- 攻防世界Web进阶篇——warmup
打开链接,发现是一张滑稽 查看页面源代码,发现文件 于是打开source.php,发现 打开hint.php,根据提示得知flag在ffffllllaaaagggg文件中 回到source.php,检 ...
- Qt ui 文件转换为python代码文件
python -m PyQt5.uic.pyuic -o ui_xxx.py xxx.ui
- 20211306 实验一《Python程序设计》实验报告
202111306 丁文博 第一次实验报告 课程:<Python程序设计> 班级: 2113 姓名: 丁文博 学号:20211306 实验教师:王志强 实验日期:2022年3月24日 必修 ...
- 关于Centos7防火墙、端口、进程、开机自启、服务启动的常用命令
一.防火墙相关命令 1.查看防火墙状态 : systemctl status firewalld.service 注:active是绿的running表示防火墙开启 2.关闭防火墙 :systemct ...
- mysql-列拆分
tableA id warehouse_id 1 1,2 想要的结果: id warehouse_id 1 1 2 2 select *(其他的字段), substring_index(substri ...
- .netcore 以widnows服务方式运行
应用需要 Microsoft.AspNetCore.Hosting.WindowsServices 的包引用. 生成主机时会调用 IHostBuilder.UseWindowsService. 若应用 ...