gpt4 book ai didi

java - 如何在 Java 中将 Base64 编码的二进制字符串转换为二进制?

转载 作者:太空狗 更新时间:2023-10-29 14:26:13 28 4
gpt4 key购买 nike

如何将以下 Base64 编码二进制字符串转换为 java 中的二进制字符串。我看到人们使用以下代码在 php 中做同样的事情。如何在 Java 中实现这一点?

在 PHP 中:

$byteArr = "AAAAAEAA";
$maparray = array();
$map = "";
foreach(str_split($byteArr) as $c)
$maparray [] = sprintf("%08b", ord($c));
$map = implode("", $maparray );

Output is $map -> "000000000000000000000000000000000100000000000000";

但是当我在 java 中尝试这个时:

String input = "AAAAAEAA";
String mapArray = "";
for(int b=0;b<input.length();b++){
int asciValueOfChar =(int)toByte.charAt(b);
String binaryInt = Integer.toBinaryString(asciValueOfChar);
String paddedBinaryInt = String.format("%8s", binaryInt);
paddedBinaryInt = paddedBinaryInt.replace(' ', '0');
System.out.println("ASCII Code::"+asciValueOfChar);
System.out.println("Binary of Char::"+binaryInt);
System.out.println("Binary of Padded Char::"+binaryInt);
mapArray = mapArray + paddedBinaryInt ;
}
System.out.println("Binary Array::"+mapArray);

Output is mapArray -> "0100000101000001010000010100000101000001010001010100000101000001"

输出不同。

如何实现相同的输出?

谢谢,

最佳答案

要解码 base64,最简单的是使用 Apache commons Decoder .

import org.apache.commons.codec.binary.Base64;

byte[] decodedBytes = Base64.decodeBase64(input);

您真的需要二进制文件作为由“0”和“1”字符组成的字符串吗?

关于java - 如何在 Java 中将 Base64 编码的二进制字符串转换为二进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12317518/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com