作为一个初学者,在实践过程中会碰到很多的问题,在不断的解决问题中壮大自己是驱动我学习的动力。
今天用python 2.7.11,自带的IDLE编了一些代码,但是发现无法保存,后来查阅很多资料发现原来需要在代码的开始加上 # -*- coding:utf-8 -*- 这个命令行。
根据网上的说法,在# -*- coding:utf-8 -*- 是为了在处理IDLE中的中文字符不出错。如果代码中含有中文字符 需要通过utf-8这个格式处理,否则系统默认为ACSII编码。
貌似 python3.X的版本不用这个声明
另外,程序中中文乱码的处理方法(网上收集):
程序中有 打印中文的命令时,如果输出的为乱码,可以在程序的开始阶段输入声明:
# -*- coding: cp936 -*-
或者
方法一:
在文件的开头加入编码声明:
#coding = gbk
s = '谷歌'
print s
输出结果:谷歌
方法二:
在输出时进行转码:
#coding = utf-8
s = '谷歌'
print unicode(s,'gbk')
输出结果:谷歌
txt文件中文乱码处理
某些软件,如notepad,在保存一个以utf-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xef 0xbb 0xbf,即bom)。因此我们在读取时需要自己去掉这些字符,python中的codecs