我正在从包含带有法语和英语字母的单词的文件中读取数据。我正在尝试构建所有可能的英文和法文字母的列表(存储为字符串)。我使用以下代码执行此操作:
# encoding: utf-8
def trackLetter(letters, line):
for a in line:
found = False;
for b in letters:
if b==a:
found = True
if not found:
letters += a
cur_letters = []; # for storing possible letters
data = urllib2.urlopen('https://duolinguist.wordpress.com/2015/01/06/top-5000-words-in-french-wordlist/', 'utf-8')
for line in data:
trackLetter(cur_letters, line)
# works if I print here
print cur_letters
此代码打印以下内容:
['t','h','e','o','f','a','n','d','i','r','s','b',' y'、'w'、'u'、'm'、'l'、'v'、'c'、'p'、'g'、'k'、'x'、'j'、'z' , 'q', '\xc3', '\xa0', '\xaa', '\xb9', '\xa9', '\xa8', '\xb4', '\xae', '-', ' \xe2', '\x80', '\x99', '\xa2', '\xa7', '\xbb', '\xaf']
显然,尽管我指定了 UTF 编码,但在某种转换为 ASCII 的过程中,法语字母已经丢失了!奇怪的是,当我直接打印出该行(显示为注释)时,法语字符完美显示!
我应该怎么做才能保留这些字符 ( é, è, ê, etc.
),或者将它们转换回原来的版本?