我已经查看了针对我发布的问题找到的回复,但我无法弄清楚一些事情。如果有人能详细说明这一点,我将不胜感激:
我试图将 base64 字符串转换为二进制。我遇到了以下代码,我将 base64 字符串存储在一个字节数组中。如何将字节数组转换为二进制。我找到的代码:
import org.apache.commons.codec.binary.Base64;
import java.util.Arrays;
public class Base64Decode {
public static void main(String[] args) {
String hello = "AAADccwwCBwOAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAB==";
byte[] decoded = Base64.decodeBase64(hello.getBytes());
System.out.println(Arrays.toString(decoded));
}
}
输出:
[0, 0, 3, 113, -52, 48, 8, 28, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0]
输出是否正确?当我查看一些关于 base64 转换的文档时,我注意到“A”的等价物是 0。数组如何在最后一个槽中为零?它不会有相当于“B”的东西吗?那么我的数组不应该以三个 0 开头吗?如何将其转换为二进制(以 0 和 1 表示)?