python--基础知识点--ASCII、EASCII、GBK、UNICODE、UTF-8、python3编解码、字符在显示原理

从ASCII到Unicode,再到UTF-8,编码技术经历了从简单到复杂的演变。最初,ASCII满足了英语字符的需求,但随着计算机全球化,EASCII、GBK、Unicode相继出现,解决多语言字符编码问题。Unicode统一全球字符编码,而UTF-8以其高效性和兼容性成为互联网主流编码。

ASCII

  每个做JavaWeb开发的新手都会遇到乱码问题,每个做Python爬虫的新手都会遇到编码问题,为什么编码问题那么蛋疼呢?

  这个问题要从1992年Guido van Rossum创造Python这门语言说起,那时的Guido绝对没想到的是Python这门语言在今天会如此受大家欢迎,也不会想到计算机发展速度会如此惊人。Guido在当初设计这门语言时是不需要关心编码的,因为在英语世界里,字符的个数非常有限,26个字母(大小写)、10个数字、标点符号、控制符,也就是键盘上所有的键所对应的字符加起来也不过是一百多个字符而已。这在计算机中用一个字节的存储空间来表示一个字符是绰绰有余的,因为一个字节相当于8个比特位,8个比特位可以表示256个符号。于是聪明的美国人就制定了一套字符编码的标准叫ASCII(American Standard Code for Information Interchange),每个字符都对应唯一的一个数字,比如字符A对应的二进制数值是01000001,对应的十进制就是65。最开始ASCII只定义了128个字符编码,包括96个文字和32个控制符号,一共128个字符,只需要一个字节的7位就能表示所有的字符,因此ASCII只使用了一个字节的后7位,最高位都为0。
在这里插入图片描述

EASCII(ISO/8859-1)

  然而计算机慢慢地普及到其他西欧地区时,他们发现还有很多西欧所特有的字符是ASCII编码表中没有的,于是后来出现了可扩展的ASCII叫EASCII,顾名思义,它是在ASCII的基础上扩展而来,把原来的7位扩充到8位,它完全兼容ASCII,扩展出来的符号包括表格符号、计算符号、希腊字母和特殊的拉丁符号。然而EASCII时代是一个混乱的时代,大家没有统一标准,他们各自把最高位按照自己的标准实现了自己的一套

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值