我在两个文件中有一个单词êtes
,我尝试将其转换为不同的格式。
1)我用codecs.open('test1.txt',encoding='ISO-8859-2')
打开文件,然后word.encode('utf-8')
。该单词为\xc4\x99tes
2)我用同一个单词打开另一个文件,但是codecs.open('test2.txt',encoding='utf-8')
。这次单词读作\xeates
不应该都给出相同的输出??
答案 0 :(得分:1)
不,他们不应该给出相同的输出。第一个是字节字符串,第二个是Unicode字符串。
您的第一个文件似乎使用ISO-8859-1
编码,而不是ISO-8859-2
。 ê
(\xea
)正在转换为ę
(\u0119
),而其UTF-8表示是两个字节\xc4\x99
。
第二个文件似乎在UTF-8中正确编码。如果要查看实际字符而不是其十六进制表示,则需要print
它。