zoukankan      html  css  js  c++  java
  • 字符编码及文件的处理

    一、字符编码(了解)

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

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

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

      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)

    打开文件占两方面资源:

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

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

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

  • 相关阅读:
    深入浅出理解基于 Kafka 和 ZooKeeper 的分布式消息队列
    消息队列使用的四种场景介绍
    《深入理解Java函数式编程》系列文章
    搭建微服务框架(Spring Boot + Dubbo + Docker + Jenkins)
    spring boot 整合dubbo
    IDEA中使用springBoot+gradle构建多模块项目
    Mac上zookeeper的安装与启动
    redis常用客户端命令
    mac下安装、配置redies
    轻松看懂机器学习常用算法
  • 原文地址:https://www.cnblogs.com/wangmiaolu/p/8663981.html
Copyright © 2011-2022 走看看