懒人菜鸟入门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方法的更多相关文章

  1. java学习笔记—第三方操作数据库包专门接收DataSource-dbutils (30)

    Dbutils 操作数据第三方包.依赖数据源DataSource(DBCP|C3p0). QueryRunner – 接收DataSource|Connection,查询数据删除修改操作.返回结果. ...

  2. java学习笔记—第三方数据库连接池包1(29)

    第一步:导入dbcp包 第二步:通过核心类连接数据 BasicDataSource它是javax.sql.DataSrouce的子类. 一个工具类:BasicDataSourceFactory. 手工 ...

  3. Java学习笔记十:Java的数组以及操作数组

    Java的数组以及操作数组 一:什么是数组: 数组可以理解为是一个巨大的“盒子”,里面可以按顺序存放多个类型相同的数据,比如可以定义 int 型的数组 scores 存储 4 名学生的成绩 数组中的元 ...

  4. Java学习笔记(6)---正则表达式,方法

    1.正则表达式: a.定义: 正则表达式定义了字符串的模式. 正则表达式可以用来搜索.编辑或处理文本. 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别. 在Java,一个字符串其实就是一 ...

  5. java 学习笔记1 java语言概述及开发环境

    高级语言运行机制 高级语言按程序的执行方式分为编译型和解释型两种. java语言比较特殊,Java程序的执行必须经过先编译后解释的步骤. 1 编译生成字节码,只面向JVM(.class) 2Jvm执行 ...

  6. Java 学习笔记 (三) Java 日期类型

    以下内容摘自:  https://www.cnblogs.com/crazylqy/p/4172324.html import java.sql.Timestamp; import java.text ...

  7. Java学习笔记之—Java基础

    将学习到的JAVA基础用xmind记录了下来,需要原件的可以私信

  8. Java学习笔记--通过java.net.URLConnection发送HTTP请求

    http://www.cnblogs.com/nick-huang/p/3859353.html 使用Java API发送 get请求或post请求的步骤: 1. 通过统一资源定位器(java.net ...

  9. JAVA学习笔记之JAVA 对象引用以及赋值

      关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用, 那实在没 ...

  10. Java学习笔记三:Java的变量、常量、变量的类型及使用规则

    Java的变量.常量.变量的类型及使用规则 每一种语言都有一些具有特殊用途的词,Java也不例外,它们被称为关键字.关键字对 Java 的编译器有着特殊的意义. 一:Java中的关键字: 注:Java ...

随机推荐

  1. 记一次对peer的理解

    今天在使用react-native开发项目的时候,想要使用async-storage. 我用的rn版本是18.2.0,不带async-storage,所以我需要自己安装下载. 于是执行命令: npm ...

  2. 算法图解 - 第1章 二分查找 与大O

    例子:猜一个1到100之间的数,最多猜几次? # 最糟糕的猜法:一个一个的猜 - 最多查找次数: n  - 运行时间: O(n) # 二分查找:在有序的一组数中猜一个数,对半猜.找到返回其位置(索引) ...

  3. (读书笔记)基于CMMI的软件工程及实训指导(13-16章)

    软件测试 1.定义: 使用人工或自动的手段来运行或测试某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别. 简单来说,软件测试是为了发现程序中的错误而执行的过程. ...

  4. 【python学习】数据结构第一节

    1.访问元组或列表中的值      (注:元素是从0开始从左往有编号的,或者从右向左编号[-1开始]) 列表 x1 = [1,2,3,4] 元组 x2 =(1,2,3,4) print(x2[0]) ...

  5. Net6 托管服务、FluentValidation

    Net6 托管服务.FluentValidation 托管服务 1.场景,代码运行在后台.比如服务器启动的时候在后台预先加载数据到缓存,每天凌晨3点把数据导出到备份数据库,每隔5秒钟在两张表之间同步一 ...

  6. java-正确打日志

    使用 slf4j 使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一. 实现方式统一使用: Logback 框架 打日志的正确方式 什么时候应该打日志 当你遇到问题的时候,只能通过 debu ...

  7. 064_Js常用的五大事件 onclick nochanger onload onsubmit onblur

    事件是电脑输入设备与页面交互的响应. onload加载完成事件:onload事件 是在页面被浏览器加载完成之后.自动触发的响应 onclick单击事件 onblur失去焦点事件 onchange内容发 ...

  8. LoadRunner 常见错误

    1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决. 启动浏览器,打开Inter ...

  9. docker-compose之memcached

    新建docker-compose.yml,写入以下内容 memcached: image: memcached:latest ports: - 11211:11211 启动服务 docker-comp ...

  10. ubuntu18.04.3新装系统安装QT5.14.1和环境配置

    第一步:下载QT: http://download.qt.io/archive/qt/ 或者 https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/ 下 ...