2020年4月8日python学习笔记————补充内容 编码的关系 & copy功能原理

bytes:

定义bytes类型是指一堆字节的集合,在python中以b开头的字符串都是bytes类型

bytes的作用:

计算机只能存储2进制, 我们的字符、图片、视频、音乐等想存到硬盘上,也必须以正确的方式编码成2进制后再存

对于文字,我们可以以gbk编码,也可以以utf-8、ASCII编码。

对于图片,必须编码成PNG,JPEG等格式

对于音乐,必须编码成MP3,WAV等

备注:在python中,字符串必须编码成bytes后才能存到硬盘上。 我之前学的文件操作时也没有把字符串编码后再存呀, 哈,那是python默认帮你干了这个事,在python3中文件存储的默认编码是utf-8.

以二进制模式操作文件:

f = open(file="encode_test",mode="wb") # wb以2进制模式打开文件

2进制模式打开文件有

wb 二进制创建

rb 二进制读

ab 二进制追加

字符编码的转换

定义:编码转换是指将一种编码转成另外一种编码,比如 utf-8 to gbk。

为何需要编码转换呢?

因为不同操作系统编码不同, utf-8在win上没办法直接看,因为windows是GBK编码的,得转成gbk。 反过来如果你的GBK字符相在Linux\Mac上正常显示,就得转成utf-8编码。

编码&解码

 备注:

在py3里,内存里的字符串是以unicode编码的,unicode的其中一个特性就是跟

所有语言编码都有映射关系。所以你的utf-8格式的文件,在windows电脑上若是不能看,就可以把utf-8先解码成unicode,再由unicode编码成gbk就可以了。

注意,不管在Windows or Mac or Linux上,你的pycharm IDE都可以支持各种文件编码,所以即使是utf-8的文件,在windows下的pycharm里也可以正常显示

浅copy

猜你喜欢

转载自www.cnblogs.com/jianchixuexu/p/12662624.html