我收到了一个用base64编码的字符串,我正在使用python对其进行解码,但解码失败,我发现该字符串后面跟有/ends,我不知道如何解码,我还没有找到答案,谁能帮我
data = 'dXN1c19pZD0xMDg2P2RvY01kPTE3Mzc4JnR5cGU9bmV3/'
print(base64.urlsafe_b64decode(data))
print(base64.standard_b64decode(data))
print(base64.b64decode(data))
Tags:
data
是一个普通的base64编码字符串,只包含来自base64 character set的字符。问题实际上是末尾的/
,因为base64字符串的长度应该可以被4除,不带余数。因此,如果有必要实现这一点,应该在末端添加填充物。结尾的/
是45个字符,这意味着44个base64字符可以解码为33字节,最后一个字符只编码6位仅仅添加填充并不能解决这个问题,因为您只能添加两个填充字符(
=
),但缺少的两个位还需要一个填充字符所以你可以这样把它剪掉:
或者添加类似
0==
的内容,将其最多填充48个字符。但是你会在decode()
中得到一个错误,我不是发明额外数据的朋友或者询问/检查发送者的代码,以了解为什么结尾有这个孤独的
/
相关问题 更多 >
编程相关推荐