python文件头的#-*- coding: utf-8 -*- 的作用

这一句其实是告诉编辑器,我的代码使用的格式是utf-8,如果没有这句编辑器就会自动去识别代码的文件格式,如果发现文件格式不是utf-8,就有可能去将编码格式转换为utf-8,比如本来是gbk的,编辑器就可能给你转换成utf-8,如果有了这一句声明,编辑器就不会自动去检查和转换了。

本来文件是gbk编码,然后我的python解释器也是gbk编码,这样是正确的,假如没有文件头的声明,用编辑器UE打开,UE发现居然用gbk,会自动将其转换成utf-8.这时候将这个转换之后的utf-8的文件拿去给gbk的python解释器执行就会乱码。

但是如果有文件头的生命,UE编辑器就会认为是utf-8,然后将错就错,我们的中文输入其实全是乱码,只是UE用错误的编码方式对乱码内容进行显示,歪打正着,显示对了。

posted @ 2016-08-24 17:22  呱呱老师  阅读(3573)  评论(0编辑  收藏  举报