栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

jdk8-Base64工具类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jdk8-Base64工具类

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

工具类代码
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

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


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));
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666625.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号