文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
Python处理字符串,写文件时会碰到许多的编码问题,特别是涉及到中文的时候,非常烦人,但又不得不学。下面主要记录工作过程中碰到的Python编码问题。
1. 字符串编码
Python的字符串类型为str
,可以通过type
函数查看返回的类型。Python中字符串默认的编码方式需要通过sys.getfilesystemencoding()
查看,通常是utf-8
。u'中文'
构造出来的是unicode
类型,不是str
类型。
1 | # 查看字符串编码方式 |
str
类型和unicode
类型分别有decode
和encode
函数。str.decode
用来将str
转为unicode
,unicode.encode
用来将unicdoe
转为str
。用法如下:
1 | # decode |
2. 代码文件编码
py
文件默认的编码是ASCII编码,中文显示时会进行ASCII编码到系统默认编码的转换,在运行Python文件时经常会报错。因此需要设置py
文件的编码为utf-8
。设置方式如下:
1 | # _*_ coding: utf-8 _*_ |