gpt4 book ai didi

java - 解码 Base64 字符串时出现奇怪的符号

转载 作者:行者123 更新时间:2023-11-30 05:36:17 29 4
gpt4 key购买 nike

我有一些编码字符串为base64“AhSld52dYtRQJDddAT4XVrymbrei6G03FFNvns6d1”

尝试对其进行解码并得到奇怪的输出符号“P�,”����Ej��s��”

String result = "AhSld52dYtRQJDddAT4XVrymbrei6G03FFNvns6d1";
byte[] decoded= Base64.decodeBase64(result.getBytes());
Arrays.toString(decoded); --> [2, 20, -91, 119, -99, -99, 98, -44, 80, 36, 55, 93]
new String(decoded); --> P�,"����Ej��s��

最佳答案

Base64 用于将二进制数据编码为 ASCII,反之亦然。二进制数据不必是有效的字符串,因此尝试从一些可能随机的字节创建一个 String 很可能会失败并导致“垃圾”。

换句话说,您不应该尝试将 byte[] 解释为 String,除非您从某个侧面 channel 知道它包含字符串数据。

我建议你看看what is base64

关于java - 解码 Base64 字符串时出现奇怪的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56540293/

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