json.loads и Redis в Python 3.5

Я создал объект JSON с помощью json.dumps() и RPUSH(ed) в списке повторного редактирования. При возврате JSON с LRANGE ( redis.lrange()) я получаю двоичную строку

 b'{"si":"00:ff" ...

Поэтому json.loads () вызывает ошибку: *** TypeError: объект JSON должен быть str, а не "байтами". Как мне вернуться к ascii?

1 ответ

Решение

В общем, вы хотите запомнить акроним BADTIE:

Bytes
Are
Decoded
Text
Is
Encoded

Если у вас есть байты, вы запускаете my_bytes.decode() чтобы получить текст.

Если у вас есть текст, вы запускаете my_text.encode() чтобы получить байты. Вы также можете указать кодировку, если вы ее знаете, но она имеет разумное значение по умолчанию.

Другие вопросы по тегам