【发布时间】:2018-05-12 18:06:19
【问题描述】:
我有一个字节对象,它实际上是dataurl 格式的文件。大约 500 KB。
我需要删除 37 字节的标头(我使用切片制作)并在文件末尾将 %3D 替换为 =(此序列可以找到 0-2 次)。
Urllib.parse 更改对象中的所有条目。
有处理这个对象的好方法吗?
content_length = int(self.headers['Content-Length']) # <--- Gets the size of data
post_body = self.rfile.read(content_length) # <--- Gets the data itself
print(len(post_body))
with open("1111", "wb") as fd:
fd.write(post_body)
post_body = post_body[37:len(post_body)]
with open("decoded.png", "wb") as fh:
fh.write(base64.decodebytes(post_body))
在最后一行,我有一个问题。
= 可能会添加字符以使最后一个块包含四个 base64 字符。但是在发帖请求中,我有%3D 而不是=。
【问题讨论】:
-
你能显示你试过的代码吗?还尝试给出一个最小的可重现示例。我建议阅读 SO 的 How to Ask Guidelines
-
我在解析 url 之前使用了解码。这是一个错误。
标签: python parsing urllib urldecode