我正在解码这个 base64 字符串:qL0swAhW+7zioxG6CatHBw==
我得到了这个结果:
$echo "qL0swAhW+7zioxG6CatHBw==" |base64 --decode : ��, V���� �G
输出应该是明文形式
答案1
Base64 不需要保存文本数据。事实上,这种编码的全部意义在于转换二进制、非文本数据转换为文本——如果Base64解码的结果保证是文本字符串,那么Base64就没有存在的理由了。
因此,对于相关输入,您的解码结果正常且正确;它是 16 个字节的数据。(其中大部分不是有效的 UTF-8 文本,因此终端应用程序显示为“解码失败” - 问号。)
如果您期望文本在里面,那么您可能输入了错误的 Base64 输入。(这可能是根据其长度猜测的加密密钥。)
$ echo qL0swAhW+7zioxG6CatHBw== | base64 -d | hexdump -C
00000000 a8 bd 2c c0 08 56 fb bc e2 a3 11 ba 09 ab 47 07 |..,..V........G.|
00000010