字符编码和文件操作

一、字符编码

1、什么是字符编码?

        人类能识别的是字符等高级标识符,电脑只能识别0,1组成的标识符,要完成人与机器之间的信息交流,
              一定需要一个媒介,进行两种标识符的转化(两种标识符的对应关系)

2、编码表:对应关系形成的结构

        常用的编码表有ascii、unicode、GBK、Shift_JIS、Euc-kr

3、Unicode与utf-8的关系:

      Unicode:用两个字节来存储汉字,用两个字节来存储英文,占有空间较多,读取速率极高

      utf-8:用3-6个字节来存储汉字,用一个字节来存储英文字母,占有空间较少,读取速率低

总结:内存都是按Unicode存储数据,硬盘和cpu采用utf-8存取数据

          Unicode与utf-8采用的是一张Unicode编码表,utf-8是Unicode编码表体现方式,变长存储数据

          变长优点:大量数据都是以英文存在,所以utf-8空间更小,传输速度更快

二、3种字符串

1、Unicode字符串,默认字符串

s1 = u'abc你好 不好'( 换行)

2、字节字符串

s2 = b'abc123xb7xb7

3、原义字符串:不对字符串内存做任何操作(eg: 的转换)

s3 = r'abc你好 不好

三、编码与解码

1、编码

s = '123呵呵'

n_b = bytes(s,encoding='utf-8')

print(n_b)

2、解码

b = b'123xe5xe91xb5xe5x91xb5'

n_b = str(b,encoding = 'GBK')

重点:

将u字符串编码成b字符串:print(u'你好'.encode('utf-8'))

将b字符串解码成u字符串:print(b'xe4xbdxa0xe5xbd'.decode('utf-8'))

四、文件操作

1、使用文件的三步骤

      打开文件:变量名 = 文件空间

                        文件路径    操作模式(读|写)  编码

                         f = open('a.txt','r',encoding= 'utf-8')

       操作文件:data = f.read(3)   #将所有内容读取出来,如果read括号设置长度,按照规定长度读取数据

                        line = f.readline()  

                        line = f.readline()        #一次读取一行

                        lines =f.readlines()     #按行一次性全部读出

                        l = []

                        for line in f:

                               l.append(line)      #逐步一行一行取

         关闭文件:

                        f.close()    #释放操作系统对文件的持有,变量f还被应用程序持有

2、模式:

                 主模式:r | w | a
             从模式:b | t | +
             了解:x | U

1、w基础写:

文件不存在:会新建文件,再操作文件

文件存在:先清空文件,再操作文件

w = open('b.txt','w',encoding = 'utf-8')

                         

          

      

原文地址:https://www.cnblogs.com/yanminggang/p/10600196.html