如何用西里尔字母解码 bson?
how to decode bson in cyrillic?
我有一个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 中得到 'message'。我该如何解码?
我已经试过了
raw.encode().decode('utf8')
raw.encode().decode('cp1251')
但它给出了不好的结果
'Привет! Здесь вы можете задать вопрос и быстро получить ответ на него.'
这是 UTF-8,已被错误解码为 Latin-1 (ISO 8859-1)。
>>> raw.encode('l1').decode()
"{'room': '55d5928a4d02f4a55007344c', 'sender': '55af71054d02f4571abe1f1f', 'message': 'Привет! Здесь вы можете задать вопрос и быстро получить ответ на него.', 'created_at': 1440146705.612493, '_id': ObjectId('55d6e5114d02f49f998a08b5')}"
我有一个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 中得到 'message'。我该如何解码?
我已经试过了
raw.encode().decode('utf8')
raw.encode().decode('cp1251')
但它给出了不好的结果
'Привет! Здесь вы можете задать вопрос и быстро получить ответ на него.'
这是 UTF-8,已被错误解码为 Latin-1 (ISO 8859-1)。
>>> raw.encode('l1').decode()
"{'room': '55d5928a4d02f4a55007344c', 'sender': '55af71054d02f4571abe1f1f', 'message': 'Привет! Здесь вы можете задать вопрос и быстро получить ответ на него.', 'created_at': 1440146705.612493, '_id': ObjectId('55d6e5114d02f49f998a08b5')}"