0
点赞
收藏
分享

微信扫一扫

java 转base64

古月无语 2023-07-14 阅读 141

Java转Base64

Base64是一种将二进制数据编码为可打印ASCII字符的编码方式。在Java中,可以使用Base64类来实现Base64编码和解码。本文将介绍Java中如何将数据转换为Base64编码的字符串,并且提供代码示例。

Base64编码

在Java中,Base64编码可以使用Base64类来完成。下面是一个使用Base64编码的示例代码:

import java.util.Base64;

public class Base64Encoder {
    public static void main(String[] args) {
        // 待编码的字符串
        String originalString = "Hello, World!";

        // 使用Base64编码
        String encodedString = Base64.getEncoder().encodeToString(originalString.getBytes());

        System.out.println("Base64编码后的字符串: " + encodedString);
    }
}

在上面的代码中,我们使用Base64.getEncoder().encodeToString()方法将字符串编码为Base64编码字符串。getBytes()方法将字符串转换为字节数组,然后encodeToString()方法将字节数组编码为Base64编码字符串。最后,使用System.out.println()方法打印编码后的字符串。

运行以上代码,将会输出以下结果:

Base64编码后的字符串: SGVsbG8sIFdvcmxkIQ==

Base64解码

与编码相对的是解码,将Base64编码字符串解码为原始数据。Java中同样可以使用Base64类来完成Base64解码。下面是一个使用Base64解码的示例代码:

import java.util.Base64;

public class Base64Decoder {
    public static void main(String[] args) {
        // 待解码的字符串
        String encodedString = "SGVsbG8sIFdvcmxkIQ==";

        // 使用Base64解码
        byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
        String decodedString = new String(decodedBytes);

        System.out.println("Base64解码后的字符串: " + decodedString);
    }
}

在上面的代码中,我们使用Base64.getDecoder().decode()方法将Base64编码字符串解码为字节数组。然后,使用String的构造函数将字节数组转换为字符串。最后,使用System.out.println()方法打印解码后的字符串。

运行以上代码,将会输出以下结果:

Base64解码后的字符串: Hello, World!

自定义字符集

在Base64编码中,使用了默认的字符集来表示Base64编码字符。如果需要使用自定义字符集,可以使用Base64.EncoderBase64.Decoder类中的withXXX()方法来指定字符集。下面是一个使用自定义字符集的示例代码:

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

public class CustomCharsetBase64 {
    public static void main(String[] args) {
        // 待编码的字符串
        String originalString = "你好,世界!";

        // 使用UTF-8字符集进行Base64编码
        String encodedString = Base64.getEncoder().encodeToString(originalString.getBytes(StandardCharsets.UTF_8));

        System.out.println("Base64编码后的字符串: " + encodedString);

        // 使用UTF-8字符集进行Base64解码
        byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
        String decodedString = new String(decodedBytes, StandardCharsets.UTF_8);

        System.out.println("Base64解码后的字符串: " + decodedString);
    }
}

在上面的代码中,我们使用StandardCharsets.UTF_8来指定使用UTF-8字符集进行编码和解码。通过传递StandardCharsets.UTF_8作为getBytes()String构造函数的参数,可以指定使用UTF-8字符集。

运行以上代码,将会输出以下结果:

Base64编码后的字符串: 5L2g5aW977yM5LiW55WMhISF
Base64解码后的字符串: 你好,世界!

总结

通过使用Java中的Base64类,我们可以轻松地实现将数据转换为Base64编码字符串以及将Base64编码字符串解码为原始数据。本文提供了使用Base64编码和解码的示例代码,并介绍了如何使用自定义字符集进行Base64编码和解码。希望本文能够帮助您理解和使用Java中的Base64编码。

举报

相关推荐

0 条评论