在python中打印出文本文件会出现错误信息--charmap_decode(input,errors,decoding_table)

时间:2014-02-13 13:29:39

标签: python wxpython

我在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>

关于我如何解决这个问题的任何想法,请?

1 个答案:

答案 0 :(得分:0)

在他们的维基页面上有大量关于wxPython和unicode的信息:

我总是使用wxPython的unicode构建。我认为wx的新版本可能只是unicode版本。无论如何joaquin指出,你还需要使用正确的编码打开文件。 Python无法猜测文件编码的unicode版本。如果你不关心保留unicode,有一个名为Unidecode的方便模块,我发现它对将unicode转换为ASCII非常有用。