【发布时间】:2012-09-04 11:26:06
【问题描述】:
我的文件是 US-ASCII 格式,像 a = file( 'main.html') 和 a.read() 这样的命令会将它们加载为 ASCII 文本。如何让它加载为 UTF8?
我要解决的问题是:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xae' in position 38: ordinal not in range(128)
我使用template_str.format(attrib=val) 中的文件内容进行模板化。但是要插入的字符串是 ASCII 的超集。
我们团队的版本控制和文本编辑器并不关心编码。那么如何在代码中处理呢?
【问题讨论】:
-
ASCII 是 UTF-8 的子集。但我怀疑您的问题比您在此处发布或理解的更多。
-
拜托,拜托,去阅读这个优秀的article on Unicode和pythonUnicode HOWTO,然后改写你的问题(如果你还有的话)。
-
@MartijnPieters 我现在包含了我原来的问题\
-
你的文件是 not ASCII,Python 只是试图解释它。你读过我链接的文章了吗?他们真的,真的,真的是必需的知识。
标签: python file-io utf-8 io ascii