如果你有用到非ASCII字符,则需要在文件头部进行字符编码的声明
# -*- coding: utf-8 -*-
常见编码介绍:
GB2312编码:适用于汉字处理、汉字通信等系统之间的信息交换
GBK编码:是汉字编码标准之一,是在 GB2312-80 标准基础上的内码扩展规范,使用了双字节编码
ASCII编码:是对英语字符和二进制之间的关系做的统一规定
Unicode编码:这是一种世界上所有字符的编码。当然了它没有规定的存储方式。
UTF-8编码:是 Unicode Transformation Format - 8 bit 的缩写, UTF-8 是 Unicode 的一种实现方式。它是可变长的编码方式,可以使用 1~4 个字节表示一个字符,可根据不同的符号而变化字节长度。
编码转换:
Python内部的字符串一般都是 Unicode编码。代码中字符串的默认编码与代码文件本身的编码是一致的。所以要做一些编码转换通常是要以Unicode作为中间编码进行转换的,即先将其他编码的字符串解码(decode)成 Unicode,再从 Unicode编码(encode)成另一种编码。
decode 的作用是将其他编码的字符串转换成 Unicode 编码
name.decode("GB2312")
#表示将GB2312编码的字符串name转换成Unicode编码
encode 的作用是将Unicode编码转换成其他编码的字符串
name.encode(”GB2312“)
表示将GB2312编码的字符串name转换成GB2312编码
判断是 s 字符串否为Unicode,如果是返回True,不是返回False :
isinstance(s, unicode)
下面代码可以获取系统默认编码:
#!/usr/bin/env python
#coding=utf-8
import sys
print sys.getdefaultencoding()