在列表中我必须使用这样的特殊字符:'ë'和'ç',在python文件中。 我的列表如下:
mylist = ['Deçan','Dragashë','Ferizaj',"Fushë ",'Gjakovë' ]
但我收到错误:SyntaxError: Non-ASCII character '\xc3' in file ...
即使我对它们进行预编码(& euml;对于'ë'),我也会得到同样的错误。我如何使用这些字符?
答案 0 :(得分:1)
如果要生成字符串,则应使用unicode
字符串,或者如果从某处获取字符串,则应将其解码为unicode。
mylist = [u'De\u00E7an',u'Dragash\u00EB',u'Ferizaj',u"Fush\u00EB ",u'Gjakov\u00EB' ]
print mylist[0],mylist[1]
现在您可以使用这些安全编码,根据您的需要进行解码
答案 1 :(得分:0)
这应该有效
#coding: utf-8
mylist = ['Deçan','Dragashë','Ferizaj',"Fushë ",'Gjakovë' ]
此处#coding: utf-8
指定文件的编码。
答案 2 :(得分:0)
您的项目编码应为UTF-8。例如,我使用Pycharm并将IDE和prodect编码设置为UTF-8。
mylist = ['Deçan','Dragashë','Ferizaj',"Fushë ",'Gjakovë' ]
for el in mylist:
print(el)
Deçan
Dragashë
Ferizaj
Fushë
Gjakovë
答案 3 :(得分:0)
如果您希望使用字符串中的实际字符而不是转义序列,则需要确保正确设置源文件编码。您将看到的大多数建议都会坚持您需要UTF-8编码的文件,但事实并非如此 - 重要的是您在源文件顶部指定的编码是您实际使用的编码。对于Windows,特别是您的PC将配置一个code page,告诉我们默认情况下应该如何将每个字节值转换为一个字符。
在Python中,特殊编码mbcs
可用于指定当前的Windows默认代码页。请注意,#coding
评论必须是文件的第一行,如果#!
是第一行,则必须是第二行。
#coding: mbcs
mylist = ['Deçan','Dragashë','Ferizaj',"Fushë ",'Gjakovë' ]