Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 redis 列表中创建了一个带有 json.dumps() 和 RPUSH(ed) 的 JSON 对象。当用 LRANGE ( redis.lrange() ) 取回 JSON 时,我收到一个二进制字符串
b'{"si":"00:ff" ...
所以 json.loads() 引发错误: *** TypeError: the JSON object must be str, not 'bytes' 我应该如何恢复为 ascii ?
一般来说,您要记住首字母缩略词 BADTIE:
Bytes Are Decoded Text Is Encoded
如果你有字节,你跑来my_bytes.decode()获取文本。
my_bytes.decode()
如果您有文本,则运行my_text.encode()以获取字节。如果您知道编码,也可以指定编码,但它有一个合理的默认值。
my_text.encode()