阿拉伯语 - Python 2.7中的UnicodeDecodeError

时间:2013-10-24 03:50:57

标签: python unicode utf-8

我编写了这段代码来处理python的阿拉伯语

 import codecs
 file = codecs.open("C:\Python27\CCA_raw_utf8.txt","r","utf-8")
 text= file.read()
 ####################################

 print "\n "," --------------------------------------------"

 text=text[1:]
 words=text.split()

 for w in words:
    if w == unicode ("الشيخ","utf-8"):
    print w

但它不起作用,并引发错误:

if w == unicode ("الشيخ","utf-8"):
UnicodeDecodeError: 'utf8' codec can't decode byte 0xc7 in position 0: invalid    continuation byte "

为什么我的程序会给出这个结果?我们如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

您可能需要使用支持unicode字符的终端。代码unicode("الشيخ","utf-8")适用于osx。

尝试使用IDLE或其他IDE /终端。

答案 1 :(得分:0)

也许您的文本编辑器不是以UTF-8存储和显示文本,而是使用其他编码。请尝试使用Unicode文字:

if w == u"الشيخ":

如果仍然无效,您需要确定编辑器正在使用哪种编码,并将其替换为"utf-8"

答案 2 :(得分:0)

检查以下链接。我认为这对这种情况很有用。

https://wiki.python.org/moin/UnicodeDecodeError