什么是字符编码?
在计算机内部,所有的数据都是二进制形式存储的,无法直接存储我们人类的语言文字符号等,所以我们需要制定一种转换规则来明确计算机内部二进制与我们的数字符号文字之间的对应关系,这就出现了‘字符编码’。
字符编码的发展史
阶段一
现代计算机起源于美国,所以最先考虑仅仅是让计算机识别英文字符,于是诞生了ASCII表。ASCII是一种基于拉丁字母的字符编码,主要用于美国的英语通信领域,它只定义了128个字符,包括数字、字母、标点符号和控制字符等。详见下图:
阶段二
再之后计算机开始流入中国等国家,而各个国家都有自己的字符,为了让计算机可以识别自己国家的字符,在英文字符的基础上,各个国家制定了各自的字符编码表,例如:
中国制定了GBK表(一个中文字符对应2bytes),日本的Shift_JIS表,韩国的Euc-kr表等...
阶段三
计算机发展到这个时候,字符编码可谓是五花八门,这也就导致了一个问题,各个国家在交流时会转发文件,而编码格式的不同会导致计算机打开文件时出现乱码,这大大影响了各国的交流,所以我们需要一个可以包容各国语言的字符编码表,也就是现在的unicode表。
Unicode表于1990年研发,1994年正式公布,是一个比较新的编码标准,它将世界上所有的符号都纳入其中,有容纳65535个符号的能力。Unicode支持多种语言同时使用,并为每个字符分配唯一的标识码,它能够满足各种语言书写和文化需求。
值得注意的是,很多地方老的系统或应用软件仍采用各种各样传统的编码,这种历史遗留问题使得以前的文件都是以旧编码格式存储与硬盘之中,而内存想获取数据并不乱码就需要保证编码格式兼容,这也就是Unicode编码的强大之处,它不光包含了万国的编码而且与之前的其他编码存在相对应的转换关系。
编码与解码
这里添加一个概念:UTF-8
标签:编码,计算机,字符,python,符号,Unicode,格式,聊聊 From: https://www.cnblogs.com/Cai-jia-hui/p/17421129.html