懒人菜鸟入门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. 更改svn地址

    svn修改了服务器地址之后,本地要更新一下地址: 1. 在svn目录上右键,选TortoiseSVN->Relocate 2. 在To URL中填写新的地址,点击OK

  2. go 镜像输出一个树 mac模式

    递归写的很low,mac模式 package main import "fmt" type TreeNode struct { Value int Left *TreeNode r ...

  3. Software--Programming--Java__Maven

    Maven 是一个构建工具,可用于编译.测试和部署 Java 项目 采用了 管理优先配置原则. Maven 构建的项目的默认目录结构       1 <?xml version="1. ...

  4. hdfs操作——hdfs的shell命令和hdfs的JavaAPI操作

    hdfs解决hadoop海量数据的存储. shell 命令(所有hadoop fs 可由 hdfs dfs代替) (1) 在hdfs上创建目录 hadoop fs -mkdir 目录名 (2) 本地文 ...

  5. centos删除安装vsftpd

    准备工作 1.centos 卸载vsftpd 删除原有的vsftpd(卸载前先关闭 vsftpd: systemctl stop vsftpd)[root@localhost ~]# rpm -aq ...

  6. python菜鸟学习: 2.列表操作

    # -*- coding: utf-8 -*-# 列表操作names = ["LiSi", "ZhangSan", "WangWu"]pri ...

  7. 问题:配置apache的相关配置文件报错:Invalid command 'Order' (已解决)

    1. 问题描述 在虚拟文件httpd-vhosts.conf里面,directory里加入Order allow,deny,重启apache,出现Invalid command 'Order', pe ...

  8. flutter TextField 高度问题(包括使用maxlines自适应高度以及改变textfield组件自定义高度)

    先上代码. Container( color: Colors.blue, constraints: BoxConstraints( minHeight: 10, maxHeight: 20 ), ch ...

  9. 2D 消隐效果

    在触发消隐的物体(比如玩家)挂下面的代码,以及box collider,rigidbody 2d using UnityEngine; public class ColliderFader : Mon ...

  10. 20192305 王梓全Python程序设计实验一报告

    20192305 王梓全Python程序设计实验一报告 课程:<Python程序设计> 班级: 1923 姓名: 王梓全 学号:20192305 实验教师:王志强 实验日期:2021年4月 ...