字符编码及文件的处理

一、字符编码(了解)

  人类的字符------------>>翻译---------->>数字

  翻译的过程遵循的标准即字符编码(就是一个字符与数字一一对应关系的表)

  什么是字符编码?一个字符如何对应一个特定数字的标准,这个标准称之为字符编码。

  ascii

  gbk:中文:2bytes 英文:1bytes

  unicode:任意字符:2bytes

  utf-8:中文:3bytes,英文1bytes

        掌握:

    1.以什么编码存的,就应该以该编码取

          #coding:utf-8 :用于python解释器读取python文件,所以文件头指定的编码必须跟python文件存储时

               用的编码一致。

    2.unnicode-----编码encode---->utf--8

    内存存unicode,硬盘存utf-8

    3.utf-8---decode---->>>unicode

    4.python3中str是以unicode编码形式存放的

      x='你好'  

                x.encode('utf-8')------>bytes   得到结果就是bytes (bytes类型是得到的数据结果)

         x='你好'

                      encode('utf-8')  

    5.bytes类型的用户

      1、存到文件中

      2、基于网络传输

申请一个内存空间,把变量存进去,又涉及到字符编码的问题。

unicode转成utf-8 把文件存到硬盘   unicode是不可以直接存到硬盘,想往硬盘存,把unicode转成一种可以存的形式,这种形式就是unicode 编码成其他编码,现在也是unicode转成其他编码。

内存往硬盘存,这其实是一个unicode编码的过程。二进制然后往硬盘里面写,以文件为单位往硬盘存。

硬盘只能存二进制,

字符串转成utf-8(bytes类型),功能一是直接可以往硬盘丢,功能二基于网络发走 你好encode 成二进制形式

文件由内存存到unicode存到硬盘也叫做内存存到硬盘

二、文件处理

  f=open(r'C:ac.txt',mode='r',encoding='utf-8')

  f.read()

  f.close()

  with open('a.txt',encoding='utf-8')as f1,                                          

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

      open('c.txt',encoding='utf-8')as f3:

    pass

  with打开本地文件

  文件的打开模式

   默认是t模式,t不能单独使用,必须是rt,wt,at

   r:只读模式

   w:只写模式

   a:只追加模式

  操作方法

    f.read()     全部文件内容读出来,读出来字符串类型,当作一个大的字符串   t模式无论读写都是以字符串为单位的

    with open('上节课复习',encoding='utf-8')as f:

      data=f.read()

    f.readline()  单行

    f.readlines()

    f.write('111111111111 222222222 ')

    f.writelines(['1111 ','2222 '])

  循环读取文件每一行内容:for (while循环不如for简单)

    for line in f:

      print(line)

打开文件占两方面资源:

一方面是应用程序,一方面是操作系统

应用程序和操作系统的关系,应用程序每发起一个读文件或者写文件的操作,其实都是给操作系统内打开的文件发请求,由操作系统再帮你转化成硬盘的指令,

但凡要进行文件操作,这两方面资源都应回收,应用程序的资源不必考虑回收。

原文地址:https://www.cnblogs.com/wangmiaolu/p/8663981.html