Библиотека msg экстракта Python: кодек «gbk» не может декодировать байты: недопустимая многобайтовая последовательность - PullRequest
0 голосов
/ 29 октября 2019

Сведения об ошибке

  • Использование последней поддерживаемой версии extract_msg. (extract_msg-0.23.2-py2.py3-none-any.whl)
  • версия python: Python 2.7 / Python 3.8

Описание У меня естьприложение, которое извлекает файлы электронной почты. Если файл электронной почты содержит кодек gbk (китайские символы), метод модуля Message (путь к файлу) вызывает исключение.

Фрагмент кода

from extract_msg import Message
try:
     msg = Message(vault_path)
except Exception as e:
     return action_result.set_status(APP_ERROR, "Failed to parse message. Error: {0}".format(str(e)))

Сообщение об ошибке из библиотечного вызова

"message": "Не удалось проанализировать сообщение. Ошибка: кодек" gbk "не может декодировать байты в позиции 34-35: недопустимая многобайтовая последовательность"

Трассировка:

File "/opt/folder/dependencies/extract_msg/message.py", line 95, in __init__#012    self.body#012  
File "/opt/folder/dependencies/extract_msg/message.py", line 460, in body#012    self._body = self._getStringStream('__substg1.0_1000')#012 
File "/opt/folder/dependencies/extract_msg/message.py", line 166, in _getStringStream#012    return None if tmp is None else
tmp.decode(self.stringEncoding)#012UnicodeDecodeError: 'gbk' codec can't decode bytes in position 34-35: illegal multibyte sequence

У меня нет права делиться MSG-файлом. Файл имеет кодек gbk (китайские иероглифы)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...