解码从s3下载的zip文件



我正在尝试解码zip文件,因此我可以从中创建md5哈希。

当我运行这个

contents = response['Body'].read()
decoded = contents.decode('utf-8')

我得到这个错误

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x90 in position 10: invalid start byte

对我有用的是IBM437

contents.decode('IBM437')

整个哈希流在AWS的ContentMD5上传检查中工作

我没有重新格式化它的上传方式我只是用非utf-8编码来创建一个md5哈希值

IBM437中这样做的注意事项是什么,因为utf-8看起来像"标准"。类型。

正如有人在评论中建议的那样。不必将二进制文件转换为字符串。

这是re-approach

contents = response['Body'].read()
md = hashlib.md5(contents).digest()
contents_md5 = base64.b64encode(md).decode('utf-8')

相关内容

  • 没有找到相关文章

最新更新