Python 如何将unicode文件读取为扩展ascii

Python 如何将unicode文件读取为扩展ascii,python,unicode,Python,Unicode,如果我使用以下命令读取unicode文件: f = open(r'file.txt','rU') raw = f.read() # Create a file called sitecustomize.py in c:\python27\Lib\site-packages. import sys sys.setdefaultencoding('iso-8859-1') 如何将文件读取为扩展ascii,即正确地将\xc3\xaa转换为?并将所有不可显示的字符转换为默认字符(例如?) 我还有

如果我使用以下命令读取unicode文件:

f = open(r'file.txt','rU')
raw = f.read()
# Create a file called sitecustomize.py in c:\python27\Lib\site-packages.
import sys
sys.setdefaultencoding('iso-8859-1')  
如何将文件读取为扩展ascii,即正确地将\xc3\xaa转换为?并将所有不可显示的字符转换为默认字符(例如?)

我还有以下几点:

f = open(r'file.txt','rU')
raw = f.read()
# Create a file called sitecustomize.py in c:\python27\Lib\site-packages.
import sys
sys.setdefaultencoding('iso-8859-1')  
我不确定我是否需要改变

由于某些原因,我无法将ê粘贴到python控制台(windows中的dos)中,我可以做:

>>> s = u'La Pe\xf1a'
>>> print s
La Peña
有人知道怎么做吗?

在python2中

import codecs
f = codecs.open('file.txt','rU',encoding='utf8')
在py3中

f = open('file.txt','rU',encoding='utf8')

为了消除混淆,没有“unicode文件”这样的东西。Unicode是一种数学抽象,文件是光盘上的字节。为了将这些字节转换为unicode代码点的内部内存表示形式,python需要知道如何解释它们。这种解释被称为“编码”,从你的帖子中你似乎使用了“utf8”。因此,您必须告诉python。

没有扩展ASCII这样的东西。您在这里谈到了几个不同的问题。我认为您需要去阅读。此外,控制台中的Windows和unicode彼此不满意是出了名的。不要更改默认编码。许多库依赖默认设置。