现有一段 base64 后的字符串:G63bLQ6yFlve46h/LibzuQ==
使用 java 的 hutool.core.codec.Base64 解出结果为:[B@4dc912af
使用 python/js/go 都解出乱码。求帮助
1
berserk 2021-08-23 19:50:38 +08:00
|
2
ynyounuo 2021-08-23 19:55:55 +08:00 1
这个意思是 [B 这个 object 和它的 hashcode 并不是解析出的文本
|
3
maojun 2021-08-23 19:57:19 +08:00
你的问题不在解码,而是输入编码的时候就错了
|
4
yousabuk 2021-08-23 20:07:17 +08:00 via iPhone
你把引用 base64 了?
|
5
wangbenjun5 2021-08-23 20:08:40 +08:00
随便找个网页版的 base64 试一下,我试了你这段字符串 decode 后是乱码,说明这个字符串就有问题吧
|
6
chendy 2021-08-23 20:17:07 +08:00
解不出来,各种乱码,编码之前的数据本来就不是字符串?
|
7
v2tudnew 2021-08-23 20:19:18 +08:00
用你的结果编码是:W0JANGRjOTEyYWY=
|
8
Kiriya 2021-08-23 20:19:59 +08:00
标准 base64 加密后应该没有 /符号,你可能引用了非标准 base64
|
9
chendy 2021-08-23 20:51:00 +08:00 1
顺便一说 [B@4dc912af 这明显是个 byte[] 的 toString() 结果……
|
13
Mutoo 2021-08-23 23:22:42 +08:00
|
15
polaa 2021-08-23 23:44:50 +08:00
~|⇒ echo "G63bLQ6yFlve46h/LibzuQ==" |base64 -D|xxd
00000000: 1bad db2d 0eb2 165b dee3 a87f 2e26 f3b9 ...-...[.....&.. |
16
msg7086 2021-08-24 06:14:09 +08:00
解出乱码不就对了吗。你在期待什么样的结果呢。
|
18
dallaslu 2021-08-24 20:58:25 +08:00
你再用 Java 解一次,就不是 `[B@4dc912af` 了。你可能调用了 hutool.core.codec.Base64 内返回值类型为 `byte[]` 的 decode 方法。如果 python/js/go 解出来的结果都一致,说明就该解出乱码。还是研究一下原始串是怎么编码的吧!
|