Spring 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 是一个模板类,而且提供了默认实现,可以重写,但是没有必要。直接使用即可。