一:Python2python
- python2默认编码格式是ascii码,解释器解释代码时会将代码以及代码中的字符串等转换成ascii码再执行。这样会致使字符串输出或传输时,与当前环境编码格式不一样的话会显示乱码。
- 咱们能够经过 代码文件开头编码声明 改变编码格式,告知解释器 以什么编码格式 解释文件内容,例如:在文件头声明了 #_*_coding:utf-8*_
- 在有#_*_coding:utf-8*_的状况下,字符串变量若是写成name=u"字符串"格式,那这个字符串就是unicode格式解释和保存的;不加这个u就是utf-8格式
二:Python3编码
- python3默认文件编码格式就是utf-8,因此能够直接在代码中写中文,不须要文件头声明编码了。
- 字符串变量默认会被unicode格式解释和存储,不须要再显式加 u 前缀。
三:转码code
一个原则:全部字符集的转换,都要先decode成为unicode,再encode成为其余格式,不能直接转其余格式,不然会解析失败成为乱码。utf-8