2017-04-21 126 views
1

我得到了bson {'room': '55d5928a4d02f4a55007344c', 'sender': '55af71054d02f4571abe1f1f', 'message': 'Ð\x9fÑ\x80ивеÑ\x82! Ð\x97деÑ\x81Ñ\x8c вÑ\x8b можеÑ\x82е задаÑ\x82Ñ\x8c вопÑ\x80оÑ\x81 и бÑ\x8bÑ\x81Ñ\x82Ñ\x80о полÑ\x83Ñ\x87иÑ\x82Ñ\x8c оÑ\x82веÑ\x82 на него.', 'created_at': 1440146705.612493, '_id': ObjectId('55d6e5114d02f49f998a08b5')} 我想在python3中得到'消息'。我如何解碼它?如何解碼西里爾文的bson?

我已經嘗試過這個 raw.encode().decode('utf8') raw.encode().decode('cp1251') 但它會帶來壞結果 'Привет! Здесь вы можете задать вопрос ГђВё быстро получить ответ ГђВЅГђВ° него.'

回答

0

這是UTF-8已不恰當地解碼拉丁-1(ISO 8859-1)。

>>> raw.encode('l1').decode() 
"{'room': '55d5928a4d02f4a55007344c', 'sender': '55af71054d02f4571abe1f1f', 'message': 'Привет! Здесь вы можете задать вопрос и быстро получить ответ на него.', 'created_at': 1440146705.612493, '_id': ObjectId('55d6e5114d02f49f998a08b5')}"