编码

编码

什么是字符编码?

人类字符与计算机机中的二进制对应关系

为什么要有字符编码

因为计算机时通电工作的,它只能识别高低电频(俗称二进制),计算机只能识别二进制,不能识别人类字符,但是人类只能识别人类字符,所以,人类要把东西存储到硬盘时,硬盘只能存储二进制,所以,人类就写了一张表,把不同的字符用不同组合的二进制关联起来(最早的编码表ASII表)。计算机的运行首先要先从硬盘中,读取内容,加载到内存中,然后cpu执行

百花齐放

ASCII

最开始计算机从美国诞生,所以美国人,就写了一张表,只能识别英文字符,并用8bit位来表示,预留了一位。
规定8Bit=1Byte

gbk

计算机传入中国,英文字符阻挡了计算机的普及,所以中国人也写了一张表,只能识别英文和中文字符,并用16Bit表示

shifit-JIs

计算机出了日本,日本也造了一张表....只能是识别,英文和日文字符,

.......好多国家都造了一张表,标准不统一,计算机交流复杂

unicode

这张表上把全球所有字符,都写了一个对应关系,只要有这张表,任何国家语言都可以二进制数表示,16Bit对应一个字符

乱码问题

存的时候乱了:采用的字符编码表无法识别输入的字,存的时候就已经乱了,是无法补救的,取的时候一定也乱了
解决方法:存入硬盘的编码格式应该用utf-8格式


存的时候没有乱码:采用的字符编码表可以识别输入的字符,但是取的时候乱码了:采用的字符编码表与当初存的时候用的不是同一张表

解决方法:存的时候用什么编码,取的时候一定要用同样的编码格式


与运行python程序有关的乱码问题

保证运行python程序的前两个阶段不乱码
        在python文件的开头加一行:#coding:文件存的时候用的编码格式

posted @ 2020-07-15 18:32  为了等  阅读(122)  评论(0编辑  收藏  举报