python默认采用unicode字符编码对吗_Python基础知识点有哪些 字符编码是怎么回事...

本文深入解析Python字符编码的基础概念,包括ASCII、Unicode、UTF-8、GBK等,以及Python 2和3的默认编码差异。重点讲解字符、字符集和编码的关系,并提供实例说明如何在实际编程中正确处理不同编码的字符串操作。
摘要由CSDN通过智能技术生成

09a37a9c64f806531b4b7c56c6e97d2b.png

Python基础知识点有哪些?字符编码是怎么回事?很多初学Python的同学对字符串和字符编码傻傻分不清,下面就给大家讲解一下Python字符编码涉及的知识点。

6ad2afc27215b56c975beb020039ee38.png

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基础学习知识点,建议你还是选择专业的学习比较好。可以从学习的内容,环境,教得怎么样,是否面授几方面来选择,再去实地试听一下,适合自己的就是最好的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值