【问题标题】:python base64.b64decode(): Is there any limit to length of input (encoded) stringpython base64.b64decode():输入(编码)字符串的长度是否有限制
【发布时间】:2015-11-03 06:52:58
【问题描述】:

我正在使用 python base64.b64decode() 来解码使用 REST API 从谷歌获取的一些字符串。我能够解码小块但不能解码整个编码字符串。我尝试了长达 4k 的字符串进行解码,但完整的字符串(长度为 21k)无法解码。

base64.b64decode() 的输入长度是否有限制。

示例代码

import base64
encoded_buffer = "ICAgICAgICAgIC<omitting long string (21k long) fetched from google>"
decoded_buffer = base64.b64decode(encoded_buffer)

【问题讨论】:

  • 你的示例代码是什么?
  • 解码失败怎么办?
  • 一无所获。解码缓冲区为空。
  • O_o Jon Skeet 和我在同一个线程上!就像在编程中遇到 kanye west 一样:D Mahesh 给我你的电话号码,我会打电话给你,我们现在就解决你的问题! :D
  • 回到主题,为什么你的缓冲区中有人类可读的字符

标签: python base64 decode


【解决方案1】:

是的,限制取决于缓冲区大小。如果缓冲区不够大,会报错

SyntaxError:扫描字符串文字时 EOL

在这种情况下尝试增加缓冲区大小

sock.recv(buffer size) # 默认 1024

【讨论】:

    猜你喜欢
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 2012-11-09
    相关资源
    最近更新 更多