【问题标题】:Base64 decode does not work every time in PythonBase64 解码在 Python 中并非每次都有效
【发布时间】:2013-02-12 16:33:44
【问题描述】:

我必须解码一个字符串。这个来自 Flash AS3,我想用 Python 解码它。我对 PHP 没有任何问题,但我无法使用 Python 2.6 'base64.b64decode' 解码以下字符串。

f3hvQgQaBFp9IC4NQhYZQiAhNhxBAkwIJC0pDR8fBl12ZjkWXwMEWn57bU0dGgBfcWdsTwAbGB4xLmVLAh0FXXd5a0gGHQRWdy5iQANNVAl / KmNLAhUBXyV8PkFQHwNefntjGgpPU18nK21OURtSC35wPE4FHFUJdi4 / TlMUVFwlez9JVxtVDH0TB0IGHAc%的Pr P>

Python 返回“TypeError:不正确的填充”。它似乎在字符串的末尾有多余的字符(来自'%')。但是为什么 Python base64 库不管理这个呢?

感谢您的回答。

【问题讨论】:

  • 如果你去掉结尾的'r',Python可以解码它,但我不知道解码后的字符串对你是否有意义。
  • 其实一个关于php和python一样多的问题
  • 解码的字符串是一个加密的字符串 :) 我需要解码 base64 以便解密之后的结果。是否有一个函数可以在将 base64 字符串发送到 Python base64 解码器之前对其进行清理?
  • 是否应该在末尾有一个 = 符号(这是通常的填充字符)?...原则上字符数应该被 4 整除。如果不是,您可能会幸运地添加=,直到它...
  • 我可以将 "%Pr" 替换为 "=" ;但是从 AS3 到 Python 的 HTTP POST 请求发送的这个“%Pr”是什么?

标签: python actionscript-3 base64 decode


【解决方案1】:

在我看来,您没有向函数提供有效的字符串 - 它告诉您。你不能指望一个函数“猜测”你想要什么,并以此为基础做出反应。您必须使用有效的参数,否则该功能不起作用。

【讨论】:

    猜你喜欢
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    相关资源
    最近更新 更多