Base64是一种将二进制数据编码为ASCII字符的编码方式,常用于在URL、Cookie、网页表单等场景下传输数据。在Java中,我们可以使用Java 8自带的Base64类来进行Base64编解码操作。在本文中,我们将通过一个简单的在线Base64编解码工具来探讨Base64的相关知识点。
一、工具介绍
本工具支持将字符串进行Base64编码和解码。用户可以直接在输入框中输入需要编码/解码的字符串,点击相应的按钮即可得到结果。
二、Base64编码
Base64编码是将二进制数据每3个字节为一组,将24位划分成4个6位的小组,每个6位作为一个索引,在编码表中查找对应的字符,最终形成4个字符的编码结果。如果原来的二进制数据不足3个字节,在最后一个小组后会添加“=”进行填充。
以下是对应的Java代码:
import java.util.Base64; public class Base64Demo { public static void main(String[] args) { String original = "Hello, world!"; String encoded = Base64.getEncoder().encodeToString(original.getBytes()); System.out.println("编码后的字符串:" + encoded); } }
上述代码中,我们首先将原始字符串转换为字节数组,然后使用Base64.getEncoder()获取Base64编码器,调用其encodeToString()方法进行编码。
三、Base64解码
Base64解码就是将编码后的字符串解析成二进制数据,对于每个4个字符为一组的编码数据,将其还原为3个字节,最后组合在一起即可得到原始的二进制数据。
以下是对应的Java代码:
import java.util.Base64; public class Base64Demo { public static void main(String[] args) { String encoded = "SGVsbG8sIHdvcmxkIQ=="; byte[] decoded = Base64.getDecoder().decode(encoded); String original = new String(decoded); System.out.println("解码后的字符串:" + original); } }
上述代码中,我们首先将编码后的字符串转换为字节数组,然后使用Base64.getDecoder()获取Base64解码器,调用其decode()方法进行解码,再将解码后的字节数组转换为字符串即可。
四、代码实现
以下是在线Base64编解码工具的代码实现:
在线Base64编解码工具 在线Base64编解码工具
请输入需要编码/解码的字符串:
结果:
<script> function encode() { var input = document.getElementById("input").value; var output = document.getElementById("output"); output.value = btoa(input); } function decode() { var input = document.getElementById("input").value; var output = document.getElementById("output"); output.value = atob(input); } </script>