Python Unicode行为

时间:2014-07-08 21:16:56

标签: python unicode encoding utf-8

我在两个文件中有一个单词ê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

不应该都给出相同的输出??

1 个答案:

答案 0 :(得分:1)

不,他们不应该给出相同的输出。第一个是字节字符串,第二个是Unicode字符串。

您的第一个文件似乎使用ISO-8859-1编码,而不是ISO-8859-2ê\xea)正在转换为ę\u0119),而其UTF-8表示是两个字节\xc4\x99

第二个文件似乎在UTF-8中正确编码。如果要查看实际字符而不是其十六进制表示,则需要print它。