计算机中字符编码简介以及python中文件文本了解


一,字符编码:

针对的都是文字

输入的字符 通过相应的字符编码表 翻译成计算机所能识别的二进制数字。

其实对计算机而言,字符只不过是一些相对应二进制数字。

字符编码的发展:

最开始用的字符编码表为 ASCII 码。用八位二进制来表示一个英文字符。

经过时间的沉淀,之后各个国家都有自己的一套字符编码表。 例如 我们自己用的时GBK编码表。

又后来经过一些历史的沧桑,全球制定了一个Unicode 字符编码表,所有国家的字符都能解码,就再也不用担心字符不能识别了。

但是Unicode有个致命的缺点,就是程序运行效率低,且浪费储存空间。

不过,当内存中的Unicode 字符编码格式读到硬盘的时候,会按照UTF-8 编码,也就是会节省空间。

现在的计算机 内存的字符编码表都是Unicode, 而硬盘的都是UTF-8.

Unicode 字符编码表的特点总结:

1.用户再输入的时候,不论是什么字符,它都能兼容。

2.当不同国家的编码数据由硬盘传到内存时,Unicode上都有与之对应的关系。


字符编码总结:

当数据由内存保存到硬盘时:

1.内存中的Unicode编码格式二进制数据 ------------通过encod(编码)-----UTF-8的编码格式二进制数据 ----- 保存到硬盘

当数据由硬盘读取到内存时:

1.将硬盘中的UTF-8的编码格式二进制数据 ---------通过decode(解码)----- Unicode编码格式二进制数据 ----读取到内存

文本文件以什么编码的编的,就以什么编码解

二,文件头

python 写程序时,文件头要写个coding:utf-8

当你不标注文件头的时候,解释器会默认自己的格式储存数据----比如python2中会以ASCII码储存。

所有的编码都支持英文字符。

在python解释器中只要时用到中文前面都需要加个 字母u


三,文件处理以及处理模式:

1.open 打开

r ---- 取消转义

x = open(r'D:\feiq\Recv Files\day07\test',encoding='utf-8') -----像操作系统发送请求,如果把它赋值给一个变量名,相当于成了遥控器来操作。

x.read() 像操作系统发送请求读取文件内容。
x.close() 让操作系统关闭打开的文件

2.with 操作文件上下文。

with open(r'......................','utf-8') as d,\
open (r'......................','utf-8') as d1:

3.write 写入
readable 判断是否可读
writetable 判断是否可写

打开两个文件,当你在with外层级操作时,文件会关闭。


4文件打开的模式

1. mode 为 r 时, 只读模式,而且是一次性将文件内容全部读出。不可修改文件。如果不写r, 默认为r模式。

2.mode 为 w时,只写模式,当文件不在时,自动创立该文件。当文件存在时,会先清空原文件内容再写入。

3.mode为 a 时,是追加写模式,当文件不在时,会自动创建该文件。当文件存在时,会继续在原文件的最后续写。


5.操作文件的单位方式:

t 是指文本文件。 需要指定 encoding 参数。 mode参数不写的话,默认为t 。

b 是二进制。一定不能指定 encoding 参数,一般传其他文件时会写该参数

 

posted on 2019-07-05 20:40  IT界的蜉蝣  阅读(189)  评论(0编辑  收藏  举报

导航