我使用json.dumps()和RPUSH(ed)在redis列表中创建了一个JSON对象。当使用LRANGE(redis.lrange())返回JSON时,我收到一个二进制字符串
b'{"si":"00:ff" ...
因此json.loads()会引发错误:*** TypeError:JSON对象必须为str,而不是’bytes’。我应如何恢复为ascii?
通常,您需要记住首字母缩略词BADTIE:
Bytes Are Decoded Text Is Encoded
如果有字节,则会运行my_bytes.decode()以获取文本。
my_bytes.decode()
如果您有文本,则会运行my_text.encode()以获取字节。您也可以指定编码(如果知道的话),但是它有一个合理的默认值。
my_text.encode()