字符编码与文件处理
Posted H......T!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符编码与文件处理相关的知识,希望对你有一定的参考价值。
字符编码
计算机工作就要通电,也就是说‘电‘驱使计算机干活,而电只有高电压(二进制1),低电压(二进制0),也就是说计算机只认数字。
编程的目的就是让计算机干活,编程的结果就是一堆字符,也就是我们编程最终实现的是:一堆字符驱动计算机干活呢。
1:python解释器是执行文件内容的,因而python解释器具备读py文件的功能,
这一点与文本编辑器一样。
2:与文本编辑器不一样的地方在于,python解释器不仅可以读文件的内容,
还可以执行文件内容。
字符------------à(翻译过程)----------------à数字
这个过程实际就是一个字符如何对应一个特定的数字标准,这个标准称之为数字编码。
一:ASCLL:
一个Bytes=8bit--------------à可以表示为2**8种变化
00000000-------------à0------------------à’a’
00000001-------------à1------------------à’b’
10101010
1*(2**8)+1*(2**6)+1*(2**4)+1*(2**)
ASCLL:最初只有七位,127个数字。
为了将拉丁文也编码进ASCLL中,将最高位也占了。
二:为了满足中文,中国人定制了GBK。
GBK:2Bytes代表一个字符。
日本----------shift_JIS
韩国----------Evc-kr
三:Unicode,统一用2(2Bytes)位代表一个字符。(万国编码)
优点:转换速度快。
缺点:占用空间大。
2**16=65536,可代表多个字符。
1Bytes = 8bit
1Kb = 1024Bytes
1MB = 1024KB
1GB = 1024MB
1027TB = 1024GB
1GB = 1024*1024*1024*1024*8
四:UTF—8(可变长的字符编码)-----------à精准,对不同的字符用不同的长度表示。
优点:节省空间。
缺点:转换速度慢。
对英文字符只用1Gytes,对中文只能用3Byte
1:内存中使用的是Unicode,用空间换时间(程序都需要加载到内存才能运行,因而内存要尽可能的快)
2:硬盘中或者网络传输用Utf_8,保证数据传输的稳定性。
Unicode---------àencode-----------àutf-8
Utf-8---------àdcode------------àunicode
结论:用什么编码存,就用什么编码取。
Python3解释器中,默认的字符编码是Utf-8
Python2解释器中,morn的是ASCII。
以上是关于字符编码与文件处理的主要内容,如果未能解决你的问题,请参考以下文章