1.1. 解决文件模式python代码出现中文乱码问题(如:记事本)
(1)使用中文需要在第一行声明编码:#coding=utf-8
(2)中文字符串前要加:u 如:u”中文”
(3)文件另存为”UTF-8”编码格式
说明 :raw_input中的中文除外,raw_input的中文方法如下:
s=raw_input(“中文”.decode(“utf-8”).encode(“gbk”))
1.2. 常见的编码格式
ASCII:美国信息交换标准代码(American Standard Code for Information Interchange),包含256个字符
GB2312:适用于汉字
GBK:是汉字编码标准之一,是在GB2312基础上扩展的
ANSI:与windows操作系统有关,像win7简体中文版中是GBK
Unicode:世界所有字符的编码
Utf-8:是Unicode的一种实现方式;把汉字或其他字符保存为1-3个字节;完全兼容ASCII(256个字符) (优点:节省空间)
Utf-16:保存为2个字节
Utf-32:保存为4个字符 (缺点:很占内存)
1.3. 查看/获取系统的编码
>>> import sys
>>> sys.getdefaultencoding()
'ascii'
1.4. 设置/修改系统的编码
>>> import sys
>>> reload(sys) #需要新加载一下 原因在下面:
<module 'sys' (built-in)>
>>> sys.setdefaultencoding("gbk")
>>> sys.getdefaultencoding()
'gbk'
说明:为什么要reload sys模块?
在site.py文件里有这样一段代码:
if hasattr(sys,"setdefaultencoding"):
del sys.setdefaultencoding
在sys加载后,setdefaultencoding方法被删除了,所以我们要通过重新导入sys来设置系统编码