jdk8-Base64工具类

23 篇文章 0 订阅
16 篇文章 0 订阅

项目中涉及到 base64转码,使用jdk原生类处理编码转换

工具类代码


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Base64;

/**
 * Base64工具类
 *
 * @author z.y.l
 * @version v1.0
 * @date 2021/12/16
 */
public class Base64Util {
    private static final Logger logger = LoggerFactory.getLogger(Base64Util.class);

    public static String encode(String content){
        return encode(true,content,StandardCharsets.UTF_8);
    }
    public static String encodeMime(String content){
        return encode(false,content,StandardCharsets.UTF_8);
    }
    public static String encodeGbk(String content){
        return encode(true,content,Charset.forName("GBK"));
    }
    public static String decode(String content){
        return decode(true,content,StandardCharsets.UTF_8);
    }
    public static String decodeGbk(String content){
        return decode(true,content,Charset.forName("GBK"));
    }
    public static String decodeMime(String content){
        return decode(false,content,StandardCharsets.UTF_8);
    }
    public static String encodeBytes(byte[] content){
        return encode(true,content,StandardCharsets.UTF_8);
    }
    public static byte[] decodeBytes(String content){
        return decodeBytes(true,content,StandardCharsets.UTF_8);
    }
    public static String encode(boolean isBasic, String content, Charset charset){
        if( null == content || "".equals(content.trim()) ){ return null; }
        try{
            return encode(isBasic,content.getBytes(charset),charset);
        }catch (Exception e){
            logger.error("base64编码字符>字符失败",e);
        }
        return null;
    }
    public static String encode(boolean isBasic,byte[] content,Charset charset){
        if( null == content || content.length <= 0 ){ return null; }
        try{
            Base64.Encoder encoder = isBasic ? Base64.getEncoder() : Base64.getMimeEncoder();
            return new String(encoder.encode(content), charset);
        }catch (Exception e){
            logger.error("base64编码字节>字符失败",e);
        }
        return null;
    }
    public static String decode(boolean isBasic,String content,Charset charset){
        if( null == content || "".equals(content.trim()) ){ return null; }
        try{
            return new String(decodeBytes(isBasic,content,charset),charset);
        }catch (Exception e){
            logger.error("base64解码字符>字符失败",e);
        }
        return null;
    }
    public static byte[] decodeBytes(boolean isBasic,String content,Charset charset){
        if( null == content || "".equals(content.trim()) ){ return null; }
        try{
            return decodeBytes(isBasic,content.getBytes(charset));
        }catch (Exception e){
            logger.error("base64解码字符>字节失败",e);
        }
        return null;
    }
    public static byte[] decodeBytes(boolean isBasic,byte[] content){
        if( null == content || content.length <= 0 ){ return null; }
        try{
            Base64.Decoder decoder = isBasic ? Base64.getDecoder() : Base64.getMimeDecoder();
            return decoder.decode(content);
        }catch (Exception e){
            logger.error("base64编码字节>字节失败",e);
        }
        return null;
    }
}

测试代码

public class TestMain {
    public static void main(String[] args) {
        String test = "测试123213";
        String val = Base64Util.encode(test);
        System.out.println(val);
        System.out.println(Base64Util.decode(val));
    }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值