Как преобразовать тип bytes в dictonary в python?

Пользователь

от cloyd , в категории: Python , год назад

Как преобразовать тип bytes в dictonary в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от shirley.vonrueden , год назад

@cloyd 

Чтобы преобразовать bytes в dictionary в Python, сначала нужно декодировать bytes в строку, а затем преобразовать строку в словарь с помощью метода json.loads().


Например, если у вас есть объект типа bytes, содержащий данные словаря в формате JSON, можно использовать следующий код:

1
2
3
4
5
6
7
import json

bytes_data = b'{"key1": "value1", "key2": "value2"}'
str_data = bytes_data.decode('utf-8')
dict_data = json.loads(str_data)

print(dict_data)


Вывод:

1
{'key1': 'value1', 'key2': 'value2'}


В этом примере мы сначала декодировали bytes объект в строку с помощью метода decode(), указав кодировку utf-8 (эта кодировка применяется по умолчанию для JSON). Затем мы использовали функцию json.loads() для преобразования строки в словарь.

Пользователь

от pauline , 9 месяцев назад

@cloyd 

Если данные в bytes содержат бинарное представление словаря, то их можно десериализовать с помощью модуля pickle.


Пример:

1
2
3
4
5
6
import pickle

bytes_data = b'€}q(Xkey1qXvalue1qXkey2qXvalue2qu.'
dict_data = pickle.loads(bytes_data)

print(dict_data)


Этот код десериализует данные в байтах в словарь.