Python - UnicodeDecode错误 - 解决

时间:2015-04-03 17:48:18

标签: python python-2.7 encoding ascii

我遇到了Python 2.7.x和UnicodeDecodeError ...

的问题

首先,这只是文本,在后台运行以控制接收某些数据的电路板。

其次,由于仅限于文本,这仅表示ASCII。不,我对用英语或其他东西以外的东西展示可能需要的东西不感兴趣。 A-Z,a-z,$$@#$!,0-9等等等等。

这个错误让我感到烦恼,因为我不确定哪个角色一定不可见是问题..

错误:

 Traceback (most recent call last):
  File "/home/XX/yyyy/MyPython.py", line 406, in
    mainProgram();
  File "/home/XX/yyyy/MyPython.py", line 150, in mainProgram
    getStatus();
  File "/home/XX/yyyy/MyPython.py", line 268, in getStatus
    msg = msg + "\n\n" + AlertText
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 194: ordinal not in range(128)

program closed out

这来自这一行:

msg = msg + "\n\n" + AlertText

我从一些代码中获取AlertText,如下所示:

导致问题的部分似乎是来自的文字:

html=urllib2.urlopen('http:/x.y'+Myevent+'&format=TXT&version=1&glossary=0').read()
          soup = BeautifulSoup(html)
          y=soup.find('pre') #returns data between <pre> tags.
          for a in y:
           AlertText = a.string
        print AlertText
        msg = msg + "\n\n" + AlertText

控制台上的AlertText PRINTS(我从屏幕会话中保持一个正在运行的日志,并且可以看到文本进来并且读得很好)就好了......这是python抱怨编码废话不想要合并两个字符串。

我不关心UTF-8或其他任何事情......这个世界对我来说是A-Z/a-z/0-9/$@等......

我看过类似的事情:

cleanstring = AlertText.decode('ascii','ignore')

相同)(@ $)(&amp; $(!@&amp; $(!关于ascii的错误无法解码...... DUH!我告诉你要忽略那个废话!!:狂:

同样:

import re
AlertText = re.sub("[^A-Za-z]", "",AlertText)

有关如何禁用此检查的任何提示,并告诉python只是合并这些东西忽略编码或强制将所有内容删除到ASCII并继续前进! :)

要清理它......

stringx = asciime(stringx)

如果我无法清除AlertText或者python退出愚蠢的编码而不应该担心开始这样的错误,那么捕获此错误的try|except事件将无法解决它! URRGRGHH! :狂:

我在这里尝试了其他答案的几件事,但只是继续得到同样的“无法解码”废话......

任何解决这个问题的想法???

0 个答案:

没有答案