Python基础知识点有哪些?字符编码是怎么回事?很多初学Python的同学对字符串和字符编码傻傻分不清,下面就给大家讲解一下Python字符编码涉及的知识点。
1、基本概念
字符(Character)。在电脑和电信领域中,字符是一个信息单位,它是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。比如,一个汉字,一个英文字母,一个标点符号等都是一个字符。
字符集(Character set),是字符的集合,字符集的种类较多,每个字符集包含的字符个数也不同。常见的字符集有ASCII字符集、GB2312字符集、Unicode字符集等。
字符编码(Character encoding),是指对于字符集中的字符,将其编码为特定的二进制数,以便计算机处理。常见的字符编码有ASCII编码、Unicode编码、UTF-8编码、GBK编码等。
2、常见字符编码简介
ASCII编码
20世纪 60年代,美国制定了一套字符编码方案,规定了英文字母、数字和一些普通符号跟二进制的转换关系,被称为ASCII (American Standard Code for Information Interchange,美国信息互换标准编码) 码。ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符。这样在大部分情况下,英文与二进制的转换就变得容易多了。
Unicode编码
世界各国的语言几乎是完全不一样的,用ASCII码来表示其他语言是远远不够的,因此人们将全世界所有的语言统一成一套编码方案,这套编码方案就叫Unicode,它为每种语言的每个字符设定了独一无二的二进制编码,这样就可以跨语言、跨平台进行文本处理。
UTF-8编码
UTF-8 (8-bit Unicode Transformation Format) 是一种针对Unicode的可变长度字符编码,它使用一到四个字节来表示字符,例如,ASCII 字符继续使用一个字节编码,阿拉伯文、希腊文等使用两个字节编码,常用汉字使用三个字节编码等等。
GBK编码
ASCII字符编码是单字节编码,计算机进入中国后面临的一个问题是如何处理汉字,是中国人自己弄了一套叫GB2312的双字节字符编码,并在此基础上创建了一种叫 GBK 的编码,GBK不仅收录2748个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。同样GBK也是兼容ASCII编码的,对于英文字符用1个字节来表示,汉字用两个字节来标识。
Python的默认编码
Python2的默认编码是ASCII,Python3的默认编码是UTF-8。Python2中有两种和字符串相关的类型:str和Unicode,它们的父类是basestring。其中,str类型的字符串有多种编码方式,默认是ASCII,还有GBK、UTF-8等,Unicode类型的字符串使用 u'...'的形式来表示。
综合来看,UTF-8是一种针对Unicode的可变长度字符编码,是Unicode的实现方式之一。在进行同时包含str类型和Unicode类型的字符串操作时,Python2一律都把str解码(decode)成Unicode再运算。如果函数或类等对象接收的是str类型的字符串,但你传的是Unicode,Python2会默认使用ASCII将其编码成str类型再运算。
想了解更多Python基础学习知识点,建议你还是选择专业的学习比较好。可以从学习的内容,环境,教得怎么样,是否面授几方面来选择,再去实地试听一下,适合自己的就是最好的。