python base64.b64decode(): 输入(编码)字符串的长度是否有限制

python base64.b64decode(): Is there any limit to length of input (encoded) string

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

base64.b64decode()的输入长度有限制吗

示例代码

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

是的,限制取决于缓冲区大小。如果缓冲区大小不够大,你会得到一个错误

SyntaxError: EOL while scanning string literal

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

sock.recv(buffer size) # default 1024