json.loads和Redis在python 3.5中

Gui*_*ido 2 python json redis binascii

我在redis列表中用json.dumps()和RPUSH(ed)创建了一个JSON对象.当使用LRANGE(redis.lrange())返回JSON时,我收到一个二进制字符串

 b'{"si":"00:ff" ...
Run Code Online (Sandbox Code Playgroud)

所以json.loads()引发了一个错误:***TypeError:JSON对象必须是str,而不是'bytes'我应该如何恢复为ascii?

Way*_*ner 9

一般来说,你想要记住首字母缩略词BADTIE:

Bytes
Are
Decoded
Text
Is
Encoded
Run Code Online (Sandbox Code Playgroud)

如果您有字节,则运行my_bytes.decode()以获取文本.

如果您有文本,则运行my_text.encode()以获取字节.如果您知道编码,也可以指定编码,但它具有合理的默认值.