博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python全栈开发_day7_字符编码,以及文件的基本读取
阅读量:4677 次
发布时间:2019-06-09

本文共 1517 字,大约阅读时间需要 5 分钟。

一:字符编码

  1)什么是字符编码

    将人能识别的字符等高级标识符与计算机所能识别的二进制01进行转化,这之间的交流需要一个媒介,进行两种标识符之间的转化。

    字节的存储方式为八个二进制位

 

  2)乱码

    存放数据与读取数据采用的字符编码表不一致。

 

  3)软件的运行

    1.打开软件。

    2.往计算机发送一个打开文件的指令,来打开文件,发送到内存。

    3.读取文件数据渲染给用户(python中第三步中逐行解释打开的文件内容,存取编码不一致则无法正常解释,程序崩溃),将执行的结果展示给用户。

 

  4)python代码中的文件头

    必须有的格式为encoding:编码表名称

    例:encoding:utf-8

 

  5)万国字符可以和01识别符对应的编码表

    制造一个可以识别万国字符的编码表——unicode编码表

    py2中,默认编码表为:ASCII,没有采用万国编码表unicode

    py3中,默认编码表为:utf-8,采用了玩过编码表unicode

  

  6)unicode和utf-8的关系

    unicode和utf-8的体现方式不同,采用的都是同一张unicode编码表

    unicode:用两个字节存储汉字,用两个字节存储英文字母,缺点是当文件内容较多时,占用的存储空间更大,优点是读取效率极高。

    utf-8:用三到六个字节存储汉字,用两个字节存储英文字母,缺点是读取效率低,优点是当文件内容较多时,占用的存储空间小。

    存储数据通常用utf-8,传输用utf-8(占用存储空间小,传输效率高),内存中转化为unicode(读取效率极高),再通过utf-8发送给CPU。

 

  7)三种字符串

    例:s1=u""  unicode字符串

      s2=b""  bytes字节字符串

      s3=r""  原意字符串

 

  8)编码与解码(重点)

    encode:将unicode字符串转化为bytes字符串

    decode:将bytes字符串转化为unicode字符串

s="hello你好"n_s=bytes(s,encoding="utf-8")print(n_s)n_n_s=str(n_s,encoding="utf-8")print(n_n_s)#两次返回的结果分别为:b'hello\xe4\xbd\xa0\xe5\xa5\xbd'                               hello你好

 

二:文件的基本读取操作

  主操作:r(读取)    w(写入)    a(追加)

  从操作:b(按字节操作)    t(按字符操作)    +(可读可写)

  了解操作:  x(异常写)    u(被遗弃了)

 

  经过的三个过程:打开→操作→关闭(文件)

 

  1)文件的写入

    

obj=open("b.txt","w",encoding="utf-8")info="hello"obj.write(info)obj.close() #当路径中没有该文件时候,会自动创建一个文件 #写入完成后一定要关闭文件打开,释放操作系统对文件的持有

 

  2)文件的读出

obj=open("b.txt","r",encoding="utf-8")info=obj.read()print(info) obj.close #返回值:hello' #读取完成后一定要关闭文件打开,释放操作系统对文件的持有

 

转载于:https://www.cnblogs.com/xuxingping/p/10600133.html

你可能感兴趣的文章
PHP之十六个魔术方法详细介绍
查看>>
tp5.0中及其常用方法的一些函数方法(自己看)和技巧(不断添加中)
查看>>
什么是 PWA
查看>>
Single Number II
查看>>
hostapd源代码分析(三):管理帧的收发和处理
查看>>
java---Unicode-字符转换器
查看>>
客户端的测试
查看>>
Server Tomcat v7.0 Server at localhost failed to start.
查看>>
js数据结构之列表的详细实现方法
查看>>
【转】eclipse 安装插件
查看>>
js基础学习之-js全局对象
查看>>
解决【win10管理员已阻止程序运行】问题时有感
查看>>
NumPy切片和索引
查看>>
Linux CentOS7 VMware 文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限lsattr/chattr...
查看>>
易语言拖拽文件命令,拖放对象组件应用
查看>>
MySQL同步故障:" Slave_SQL_Running:No" 两种解决办法 (转载)
查看>>
Activiti系列——如何在eclipse中安装 Activiti Designer插件
查看>>
Linux系统下,启动Tomcat有时报Address already in use
查看>>
读苹果开发文档时遇到瓶颈,转而花2天看了Objc基本语法
查看>>
Freemark List 倒序输出
查看>>