首页 > 解决方案 > 为什么有些 base64 字符串不能对称编码?

问题描述

我认为base64可以对称编码/解码,但我发现一些base64字符串在解码后没有编码回相同的字符串。

bash 中的示例:

printf "fV==" | base64 -d | base64
fQ==
printf "fS==" | base64 -d | base64
fQ==
printf "Ck==" | base64 -d | base64
Cg==
printf "Pm==" | base64 -d | base64
Pg==
printf "cK==" | base64 -d | base64
cA==

python中的示例:

from binascii import a2b_base64, b2a_base64

b2a_base64(a2b_base64(b'am==')) == b'ag==\n'

我尝试过其他在线编码器/解码器,它的行为相同。

为什么会这样?

有一些正常的base64形式吗?

解码后如何编码回原始形式?

标签: base64

解决方案


推荐阅读