文件编码奇怪问题!!
我用 f = open('E:\\pythonTest\\pytext.txt') 打开文件,注:pytext.txt 的编码格式为 utf-8。我用 Wing Ide和 python的交互命令窗口 读取 f 时 中文字段均为乱码。但是我用 IDLE 读取的时候就能正常显示,而且我在第一都加上了
# -*- coding: utf-8 -*- 为什么不同的IDE 会产生不同的效果呢??
[解决办法]
肯定是你的文件的编码问题了,
windows上系统会自动给txt文件前面插入3个字节好像。
[解决办法]
你所说的不可见字符,是0xEF 0xBB 0xBF,是微软自己给UTF-8添加的BOM。
感兴趣的,可以去看具体的解释:
关于UTF-8的BOM:“EF BB BF”
http://www.crifan.com/files/doc/docbook/char_encoding/release/html/char_encoding.html#utf8_bom_efbbbf
[ur]http://www.crifan.com/files/doc/docbook/char_encoding/release/html/char_encoding.html#utf8_bom_efbbbf[/url]
[解决办法]
因为不同的编辑器默认保存源代码文件的编码不同。
coding是告诉python解释器源代码的编码是什么,这对python这门语言是必备的,因为它丫的是unicode内码,必须从coding转向unicode在内部处理。