0
点赞
收藏
分享

微信扫一扫

java 转base64

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

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 条评论