【发布时间】:2012-05-05 23:20:24
【问题描述】:
我正在尝试使用 Python3.2 读取一些文件,其中一些文件可能包含 unicode,而另一些则不包含。
当我尝试时:
file = open(item_path + item, encoding="utf-8")
for line in file:
print (repr(line))
我得到错误:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 13-16: ordinal not in range(128)
我正在关注这里的文档:http://docs.python.org/release/3.0.1/howto/unicode.html
为什么 Python 会在这段代码中的任何时候尝试编码为 ascii?
【问题讨论】:
-
明确一点:当你在这里写 Unicode 时,你的意思是 UTF-8?此外,听起来所有文件都是 UTF-8,但有些可能只包含也是 ASCII 的子集。
标签: python unicode file-io python-3.x