Java 为什么这无法解码base64字符串?
我创建了一些应该可以工作的代码:Java 为什么这无法解码base64字符串?,java,encoding,base,Java,Encoding,Base,我创建了一些应该可以工作的代码: String input = "PONT4uYmTYwiP0omcAxZG8a3vKI="; String expectedOut = "3ce353e2e6264d8c223f4a26700c591bc6b7bca2"; Base64.Decoder decoder = Base64.getDecoder(); byte[] outAsByte = decoder.decode(input); String output = new String(outAs
String input = "PONT4uYmTYwiP0omcAxZG8a3vKI=";
String expectedOut = "3ce353e2e6264d8c223f4a26700c591bc6b7bca2";
Base64.Decoder decoder = Base64.getDecoder();
byte[] outAsByte = decoder.decode(input);
String output = new String(outAsByte, StandardCharsets.UTF_8);
System.out.println(input);
System.out.println(output);
(基于-我知道它是C#)
令人惊讶的是,这会产生以下结果:
PONT4uYmTYwiP0omcAxZG8a3vKI=
<?S??&M?"?J&pY???
你是如何得出预期结果的
使用base64和UTF-8解码您的输入会导致
您是如何得出预期结果的
使用base64和UTF-8解码您的输入会导致您是如何得出预期结果的
使用base64和UTF-8解码您的输入会导致您是如何得出预期结果的
使用base64和UTF-8对输入进行解码会导致从的手册页中获得0x3c=='0x3c='0x3c=='0x3c='
xxd创建给定文件或标准输入的十六进制转储
您正在对解码值进行十六进制转储
您可以使用提供的实用程序复制它
产生
3ce353e2e6264d8c223f4a26700c591bc6b7bca2
哪个和你的相匹配
// 3ce353e2e6264d8c223f4a26700c591bc6b7bca2
String expectedOut = "3ce353e2e6264d8c223f4a26700c591bc6b7bca2";
从的手册页
xxd创建给定文件或标准输入的十六进制转储
您正在对解码值进行十六进制转储
您可以使用提供的实用程序复制它
产生
3ce353e2e6264d8c223f4a26700c591bc6b7bca2
哪个和你的相匹配
// 3ce353e2e6264d8c223f4a26700c591bc6b7bca2
String expectedOut = "3ce353e2e6264d8c223f4a26700c591bc6b7bca2";
从的手册页
xxd创建给定文件或标准输入的十六进制转储
您正在对解码值进行十六进制转储
您可以使用提供的实用程序复制它
产生
3ce353e2e6264d8c223f4a26700c591bc6b7bca2
哪个和你的相匹配
// 3ce353e2e6264d8c223f4a26700c591bc6b7bca2
String expectedOut = "3ce353e2e6264d8c223f4a26700c591bc6b7bca2";
从的手册页
xxd创建给定文件或标准输入的十六进制转储
您正在对解码值进行十六进制转储
您可以使用提供的实用程序复制它
产生
3ce353e2e6264d8c223f4a26700c591bc6b7bca2
哪个和你的相匹配
// 3ce353e2e6264d8c223f4a26700c591bc6b7bca2
String expectedOut = "3ce353e2e6264d8c223f4a26700c591bc6b7bca2";
我使用了echo-n PONT4uYmTYwiP0omcAxZG8a3vKI=| base64-d | xxd-p
,如果您没有bash,请在此处尝试:。命令似乎是魔法发生的地方,尽管我不知道它在做什么。。。我的第一个猜测是它正在进行某种文本转换,但这似乎是错误的。我使用了echo-n PONT4uYmTYwiP0omcAxZG8a3vKI=| base64-d | xxd-p
,如果您没有bash,请在此处尝试:。命令似乎是魔法发生的地方,尽管我不知道它在做什么。。。我的第一个猜测是它正在进行某种文本转换,但这似乎是错误的。我使用了echo-n PONT4uYmTYwiP0omcAxZG8a3vKI=| base64-d | xxd-p
,如果您没有bash,请在此处尝试:。命令似乎是魔法发生的地方,尽管我不知道它在做什么。。。我的第一个猜测是它正在进行某种文本转换,但这似乎是错误的。我使用了echo-n PONT4uYmTYwiP0omcAxZG8a3vKI=| base64-d | xxd-p
,如果您没有bash,请在此处尝试:。命令似乎是魔法发生的地方,尽管我不知道它在做什么。。。我的第一个猜测是它正在进行某种文本转换,但这似乎是错误的。非常感谢,我误解了xxd
所做的,完全把我弄糊涂了。非常感谢,我误解了xxd
所做的,完全把我弄糊涂了。非常感谢,我误解了xxd
所做的,完全让我困惑。非常感谢,我误解了xxd
所做的事情,完全让我困惑。