python程序中的字符与文件中的字符

1、python程序中的字符编码是跟随程序的编码变化的。

比如:在程序的开头声明了文件的编码格式:

# -*- coding: utf-8 -*-


则程序中的汉字,如

zao='早'


编码就是utf-8格式的。


1.1  新建一个文件,文件的默认编码是和系统默认编码保持一致,假设本机的系统编码是ascci,也就是常说的GB2312编码


1.2 当我的python打开文件的时候,以rb模式打开,其编码也就是默认的GB2312  注:如果是utf-8格式的文件,最好是utf-8,无bom头,如果有bom头的话,读出来的文件前3个字节是bom头


1.3 当需要对文件中的字符,和python中的字符进行操作的时候,就需要一种中间编码,python提供了一种中间编码unicode


1.4 在1.3中,需要将2种不同编码类型的字符转化为unicode,字符提供了一个函数,decode与encode2个函数。示例:

假设:str1 代表了文件中的字符,这时候需要将其转化为unicode,操作如下:

str1 = str1.decode('gb2312')    ----------->代表的含义:将字符串str1的编码格式由gb2312转换为unicode


zao = zao.decode(;utf-8')------------------->代表的含义:将字符串zao的编码格式由utf-8转换为unicode


执行比较操作:str1 == zao   (字符编码匹配,就可以完成比较)


比较操作结束。执行endcode函数,将字符编码转回原先的,str1 = str1.encode('gb2312')等


你可能感兴趣的:(python,python)