python中编码问题
写在前面: 本文是很基础的东西,这些基础的东西有一个特点,看一遍会了,但其中很多精髓其实被忽略了,建议你货比三家,细细品尝编码之美。还有,这文章是我熬夜写的,可能有错,请批判性阅读,谢谢。 0x00:为社么会出现多种编码? 相信计算机专业的都知道,所有的数据(文本,音频,视频等等)在计算机内部都是以二进制形式来表示的。而计算机内部为什么采用二进制则是由硬件决定的(计算机采用了具有两种稳定状态的二值电路)。这样,就引出一个问题: 我们人类不适合直接看二进制。 因此,需要用一种方法,将二进制转为我们能看懂的东西。 编码就应运而生了。 0x01:编码发展历史 第一阶段: 在计算机中,所有的数据只可能是0或者1(用高电平和低电平分别表示1和0),那么我们通常看到的字符也就只能用0和1来表示呀。于是科学家们(这里指的是美国的科学家)就想出一个办法,把一个特定的数字对应一个特定的字母进行存储和传输,比如我需要存储字母a,那么我存入一个数字97(即在计算机中存入二进制(01100001),这个过程叫做编码(encode),而我们在读取数据的时候,当遇到97时,我们就让计算机显示字母a,这个过程叫做解码(decode)。 这里你应该知道: 计算机看懂的东西我们看不懂,我们看懂的东西,计算机看不懂。 把计算机看懂的东西(二进制(01100001))变成我们看懂的东西(数字97,也就是a)