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

标签 java android salesforce

如何将以下 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/

相关文章:

java - 模态 JDialog 的 1x1 维度

java - 通过 http 将视频流式传输到 Windows Media Player

java - 添加类时找不到类异常

android - 钛和安卓 : Using button inside textfield

java - 子对象更新时 Salesforce 更新主记录

salesforce - 闪电网络组件专家 super 徽章 : Challenge 7

java - 是否有机会从现有本体中找到特定类并使用 jena 添加等效类

java - 如何在不先运行代码的情况下将代码传递给方法?

android - 不显示警告对话框

python - Salesforce bulk api 使用 python simplesalesforce 包