Base64Utils 快速使用

Posted 燃尽余火

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Base64Utils 快速使用相关的知识,希望对你有一定的参考价值。

1、Base64

Base64我们常用的编码方式之一,在项目中我们总会有一个Base64Utils项目的躺在util包中。
今天我查看Spring源码的时候发现了spring code包中的Base64工具。


不过这是一个抽象类,当我们使用的时候可以继承使用。

2、Base64Utils 测试和使用

默认使用UTF-8字符编码, 提供了4对方法:

测试示例:

public class Bese64Utils extends Base64Utils {
    public static void main(String[] args) {
        String str = "https://blog.csdn.net/weixin_42798851/article/details/118678116?spm=1001.2014.3001.5501";
        // encode decode
        byte[] encode = encode(str.getBytes(StandardCharsets.UTF_8));
        System.out.println(new String(encode));

        byte[] decode = decode(encode);
        System.out.println(new String(decode));
        //encodeUrlSafe decodeUrlSafe
        byte[] bytes = encodeUrlSafe(str.getBytes(StandardCharsets.UTF_8));
        System.out.println(new String(encode));

        byte[] decodeUrlSafe = decodeUrlSafe(bytes);
        System.out.println(new String(decodeUrlSafe));

        // encodeToString decodeFromString
        String encodeToString = encodeToString(str.getBytes(StandardCharsets.UTF_8));
        System.out.println(encodeToString);
        byte[] decodeFromString = decodeFromString(encodeToString);
        System.out.println(new String(decodeFromString));

        String encodeToUrlSafeString = encodeToUrlSafeString(str.getBytes(StandardCharsets.UTF_8));
        System.out.println(encodeToUrlSafeString);
        byte[] decodeFromUrlSafeString = decodeFromUrlSafeString(encodeToUrlSafeString);
        System.out.println(new String(decodeFromUrlSafeString));
    }
}

这样就不用写这几对方法了,另外也可以在业务代码中直接集成使用,例如:

public class  XxxServiceImpl extends Base64Utils implements XxxService{
	...
}

3、简单总结

Spring Base64Utils 是一个模板类,而且提供了默认实现,可以重写,但是没有必要。直接使用即可。

以上是关于Base64Utils 快速使用的主要内容,如果未能解决你的问题,请参考以下文章

Base64Utils

base64加密解密utils

在 Java 中解码 Base64 数据

将base64编码的Textmate片段过滤回文本

maven打包异常:软件包com.sun.org.apache.xml.internal.security.utils.Base64 不存在

GWT 中的快速 base64 解码