【发布时间】:2013-01-15 20:20:59
【问题描述】:
如果我使用以下内容读取 unicode 文件:
f = open(r'file.txt','rU')
raw = f.read()
如何使文件被读取为扩展 ascii,即将 \xc3\xaa 正确转换为 ê 并将所有不可显示的字符转换为默认字符(比如?)。
我还有以下:
# 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
有人知道怎么做吗?
【问题讨论】:
-
没有扩展 ASCII 这样的东西。
-
您在这里涉及到几个不同的问题。我想你需要去阅读Python Unicode HOWTO。
-
此外,控制台中的 Windows 和 unicode 是出了名的不满意。
-
不要更改默认编码。许多库依赖于默认值。