【问题标题】:Python: Decoding base64 encoded stringsPython:解码 base64 编码的字符串
【发布时间】:2012-11-13 08:19:30
【问题描述】:

我是 python 新手,有一个关于解码 base64 编码网址的问题:

import base64
url64="aHR0cDovLzR1ZnJlZS50ay9tZWRpYTcyMzY0Ni9mdWVuZi8wMzYubXAzA"
finalUrl=base64.b64decode(url64)

行不通! TypeError: 不正确的填充

我也尝试添加所需的填充:

import base64
url64="aHR0cDovLzR1ZnJlZS50ay9tZWRpYTcyMzY0Ni9mdWVuZi8wMzYubXAzA"
finalUrl=base64.b64decode(url64 + '=' * (4 - len(url64) % 4))

但我仍然收到 TypeError: Incorrect padding

如果有人知道解决方案,那就太好了。

【问题讨论】:

  • 为什么它应该起作用?你从哪里得到这个字符串?
  • 其他 base64 编码的 URL 工作正常...我是通过抓取网站获得的!

标签: python base64


【解决方案1】:

看起来最后的A是多余的:

In [4]: base64.b64decode('aHR0cDovLzR1ZnJlZS50ay9tZWRpYTcyMzY0Ni9mdWVuZi8wMzYubXAz')
Out[4]: 'http://4ufree.tk/media723646/fuenf/036.mp3'

【讨论】:

  • 谢谢!所以我必须弄清楚何时添加填充以及何时删除多余的字符......
  • 不,如果您的 base64 字符串末尾有不需要的字符,那么您所拥有的就是损坏的数据。该字符串不是有效的 base64,如果不知道它应该是什么,就无法修复它。你从哪里弄来的?
猜你喜欢
  • 1970-01-01
  • 2011-10-18
  • 1970-01-01
  • 2017-06-06
  • 1970-01-01
  • 1970-01-01
  • 2011-10-31
  • 2020-12-26
  • 1970-01-01
相关资源
最近更新 更多