我使用 json.dumps() 创建了一个 JSON 对象,并在 Redis 列表中将其 RPUSH(ed) 。
当使用 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_text.encode()
获取字节。如果您知道编码,也可以指定它,但它有一个合理的默认值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)