java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java byte base64互转

java byte与base64的互转的实现示例

作者:Robert_Jen

在项目开发中经常用到,比如前端上送文件流(byte[])到后台并转成文件,本文主要介绍了java byte与base64的互转的实现示例,具有一定的参考价值,感兴趣的可以了解一下

1、将byte数组转为Base64编码的字符串:byte转Base64

主要代码:String base64Str = Base64.getEncoder().encodeToString(bytes);

public static void main(String[] args) {
    // 要转换的byte数组
    byte[] bytes = "Hello World, 你好,世界".getBytes();
    // 数组长度
    System.out.println("byte数组长度:"+ bytes.length);
    // Base64编码后的字符串
    String base64Str = Base64.getEncoder().encodeToString(bytes);
    System.out.println("Base64编码后的字符串:" + base64Str);
}

输出结果:

byte数组长度:28
Base64编码后的字符串:SGVsbG8gV29ybGQsIOS9oOWlve+8jOS4lueVjA==

方式二:DatatypeConverter

import javax.xml.bind.DatatypeConverter;
    @Test
    public void test0() {
        byte[] byteArray = SecureUtil.generateKey(SymmetricAlgorithm.AES.getValue()).getEncoded();
        // byte[]转base64
        String base64Str = DatatypeConverter.printBase64Binary(byteArray);
        // base64转byte[]
        byte[] byteArray2 = DatatypeConverter.parseBase64Binary(base64Str);
        System.out.println(byteArray2.toString());
    }

2、将Base64编码的字符串转为byte数组:Base64转byte

主要代码:byte[] decodedBytes = Base64.getDecoder().decode(base64Str);

public static void main(String[] args) {
     // Base64编码的字符串
     String base64Str = "SGVsbG8gV29ybGQsIOS9oOWlve+8jOS4lueVjA==";
     // 解码得到byte数组
     byte[] decodedBytes = Base64.getDecoder().decode(base64Str);
     String res = new String(decodedBytes, StandardCharsets.UTF_8);
     System.out.println("解码后的byte数组:" + res);
}

输出结果:

解码后的byte数组:Hello World, 你好,世界

到此这篇关于java byte与base64的互转的实现示例的文章就介绍到这了,更多相关java byte base64互转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文