我在gui窗口中使用wxpython在python中打印出文本文件的内容,但是收到错误消息:
return _core_.TextEntryBase_WriteText(*args, **kwargs)
File "C:\Python27\lib\encodings\cp1252.py", line 15, in decode
return codecs.charmap_decode(input,errors,decoding_table)
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 60: character maps to <undefined>
这是文本文件中的行,它将其跳起来:
<block count="55770" name="BASIC_LATIN">
!"%'(),-.0123456789:?ABCDEFGHIJKLMNOPQRSTUVWYZabcdefghijklmnopqrstuvwxyz</block>
<block count="2" name="LATIN_1_SUPPLEMENT">éï</block>
关于我如何解决这个问题的任何想法,请?
答案 0 :(得分:0)
在他们的维基页面上有大量关于wxPython和unicode的信息:
我总是使用wxPython的unicode构建。我认为wx的新版本可能只是unicode版本。无论如何joaquin指出,你还需要使用正确的编码打开文件。 Python无法猜测文件编码的unicode版本。如果你不关心保留unicode,有一个名为Unidecode的方便模块,我发现它对将unicode转换为ASCII非常有用。