投稿した質問に対して見つけた回答を既に調べましたが、何かを理解することができませんでした。誰かがこれについて少し明確にしていただければ幸いです。
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」に相当するものではないでしょうか。私の配列は 3 つの 0 で始まるべきではありませんか? これをバイナリに (0 と 1 で) 変換するにはどうすればよいですか?