python 3中的字节流和utf-8

灵能者

我正在从包含 png 文件的数据库中读取 blob。

blob 看起来正确并且是字节数据类型。开始:

b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x92\x00\x00\x00m\x08\x06\x00\x00\x00J\xbf8B\x00\x00\x00\x06bKGD\x00\x00\x00\x00\x00\x00\xf9C\xbb\x7f\x00\x00\x00\tpHYs\x00\x00\x0b\x13\x00\x00\

但是,当我执行:

image = wx.Image(blob)

我收到消息:

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

它似乎将字节视为字符串,但为什么呢?

马丁·彼得斯

wx.Image()不支持从原始字节流创建图像。该类将其解释为文件名(必须是字符串,因此正在对其进行解码)。

将您的数据包装在一个io.BytesIO()对象中;wx接受这样的对象作为流:

import io

image = wx.Image(io.BytesIO(blob))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从字节流中读取utf-8字符

'utf8'编解码器无法在python中的解码('utf-8')时解码字节0xc3

utf-8的python 2和python 3之间的区别

UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 3 中的字节 0x95:无效的起始字节 (Python) 套接字编程

python 2和3中的UTF-8字符串

如何使用Python 3在MySQL中避免使用b'和UTF-8文字

python 会自动解码 ASCII 和 UTF-8 字节字符串吗?

'utf-8'编解码器无法解码LZ4和Python 3.x上位置12的字节0xf0

像Python 2一样,如何在Python 3中将chr(0xdfff)转换为utf-8字节?

在Python 3.5中编码utf-8和utf8之间的区别

Python 将 3 个字符串误解为 UTF-8 连续字节

将python中的字节表示文件读取为utf-8字符

在Python中解析包含“ \ u作为UTF-8字节”的JSON

如何在Python3中正确产生和使用UTF-8 json?(带烧瓶和要求)

如何在Python 3中将文本流编码为字节流?

python和json UTF-8编码

Python 3的UTF-8编码问题

Python 3:CSV utf-8编码

网址在Python中解码UTF-8

AppVeyor中的UTF-8,Python 3.6

函数“ im2uint8”(在MATLAB中)和“字节比例”(在Python中)之间的区别

验证字节流是否为有效的UTF-8(或其他编码)而不带副本

将Unicode字节的Python 3字符串转换为`str(utf8_encoded_str)`回unicode

如何在python中修复“ UnicodeDecodeError:'utf-8'编解码器无法解码字节...”?

Python'utf8'编解码器无法解码位置72的字节0xc3:无效的连续字节

Python3:UnicodeDecodeError:'utf-8'编解码器无法解码位置 1 的字节 0x83:无效的起始字节

python编码utf-8

python编码utf-8

(python utf-8) 使用 'à', 'ç', 'é', 'è', 'ê', 'ë', 'î', 'ô', 'ù'