在Java中,处理Base64编码和解码是非常直观和简便的。Java 8引入了java.util.Base64
类,使得Base64编码和解码变得简单且高效。下面是使用Java进行Base64编码和解码的详细示例,包括编码和解码字符串以及字节数组。
博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:
gylzbk
)
博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。
在Java中,编码和解码字符串的基本示例如下:
import java.util.Base64;
public class Base64Example {
public static void main(String[] args) {
// 原始字符串
String originalString = "Base64 encoding in Java!";
// 编码
String encodedString = Base64.getEncoder().encodeToString(originalString.getBytes());
System.out.println("Encoded String: " + encodedString);
// 解码
byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
String decodedString = new String(decodedBytes);
System.out.println("Decoded String: " + decodedString);
}
}
URL安全的Base64编码不会产生URL中特殊字符,如+
和/
,而是使用-
和_
。
import java.util.Base64;
public class Base64UrlExample {
public static void main(String[] args) {
// 原始字符串
String originalString = "URL-Safe Base64 encoding in Java!";
// URL安全的编码
String encodedString = Base64.getUrlEncoder().encodeToString(originalString.getBytes());
System.out.println("URL-Safe Encoded String: " + encodedString);
// URL安全的解码
byte[] decodedBytes = Base64.getUrlDecoder().decode(encodedString);
String decodedString = new String(decodedBytes);
System.out.println("URL-Safe Decoded String: " + decodedString);
}
}
在MIME类型的Base64编码中,输出被分成每行不超过76个字符,并以CRLF(\r\n
)结尾。对于需要在MIME格式(如电子邮件)中传输的数据,这种编码方式很有用。
import java.util.Base64;
public class Base64MimeExample {
public static void main(String[] args) {
// 原始字符串
String originalString = "MIME Base64 encoding in Java! This is a long string to demonstrate MIME encoding.";
// MIME类型的编码
String encodedString = Base64.getMimeEncoder().encodeToString(originalString.getBytes());
System.out.println("MIME Encoded String: " + encodedString);
// MIME类型的解码
byte[] decodedBytes = Base64.getMimeDecoder().decode(encodedString);
String decodedString = new String(decodedBytes);
System.out.println("MIME Decoded String: " + decodedString);
}
}
除了字符串,Base64类还可以处理字节数组,以下是一个示例:
import java.util.Base64;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
public class Base64ByteArrayExample {
public static void main(String[] args) {
// 原始字节数组
byte[] originalBytes = "Base64 byte array encoding in Java!".getBytes(StandardCharsets.UTF_8);
// 编码字节数组
byte[] encodedBytes = Base64.getEncoder().encode(originalBytes);
System.out.println("Encoded Byte Array: " + Arrays.toString(encodedBytes));
// 解码字节数组
byte[] decodedBytes = Base64.getDecoder().decode(encodedBytes);
System.out.println("Decoded Byte Array: " + Arrays.toString(decodedBytes));
System.out.println("Decoded String: " + new String(decodedBytes, StandardCharsets.UTF_8));
}
}
通过使用java.util.Base64
类,可以轻松地在Java中执行Base64的编码和解码操作。编码和解码可以处理字符串和字节数组,还支持基本、URL安全和MIME类型的编码方式。掌握这些功能,有助于在开发过程中处理需要进行Base64操作的应用场景,如数据传输、存储等。