Base64转二进制流报错 原创 Python开发 2022年3月14日 22:56 夏至未至 1823 当前内容 1113 字,在路上,马上到,马上到 ### 报错信息 binascii.Error: Invalid base64-encoded string: number of data characters (14173) cannot be 1 more than a multiple of 4 ### 错误复现 这里使用 `base64.b64decode` 将base64图片文件转码成二进制,存储成图片文件: import base64 base64Str = b'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwIAAABoCA...' ret = base64.b64decode(base64Str, altchars=None, validate=False) print(ret) 报错信息如下: ... File "d:\program files\python37\lib\base64.py", line 87, in b64decode return binascii.a2b_base64(s) binascii.Error: Invalid base64-encoded string: number of data characters (14173) cannot be 1 more than a multiple of 4 ### 错误解决 base64 解析二进制,需要把 data:base64 协议去掉,故实现如下: import base64 base64Str = b'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwIAAABoCA...' removalBase64Agreement = base64Str.split(",")[1] image_data = base64.b64decode(removalBase64Agreement, altchars=None, validate=False) print(image_data) 在执行,输出: b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x03\x02\x00\x00\x00h\x08\x06\x00\x00\x00B;G\x19\x00\x00\x00\x01sRG' 成功将 base64 转成二进制流。 本文标题: Base64转二进制流报错 本文作者: 夏至未至 发布时间: 2022年3月14日 22:56 最近更新: 2022年3月18日 00:38 原文链接: 许可协议: 署名-非商业性-禁止演绎 4.0 国际(CC BY-NC-ND 4.0) 请按协议转载并保留原文链接及作者 base64(1) 上一个 Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE 下一个 MySQL主从集群快速搭建 当前文章评论暂未开放,请移步至留言处留言。