【Python复习巩固 Day1】字符串与编码

本文介绍了Python在处理字符串和编码方面的特性。Python3中的字符串以Unicode编码,支持多语言,可以通过ord()和chr()函数进行字符与编码的转换。在处理字节流时,str可以通过encode()编码为bytes,而bytes则需要通过decode()解码回str。讨论了ASCII编码与UTF-8编码的区别,中文字符通常占用3个字节,英文字符占用1个字节。
摘要由CSDN通过智能技术生成

Python可以做什么?
可以做日常任务,比如备份你的MP3;可以做网站,很多著名的网站包括Youtube就是Python写的;可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。总之就是能干很多事情。
Python不适合做什么?
Python当然也有很多不适合做的事情,比如写操作系统,这个C语言比较擅长;写手机应用,一般用Swift/Objective-C(iPhone)和Java/Kotlin(Android);写3D游戏,最好用C或C++。

在这里插入图片描述
Python的字符串

在Python3中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言

对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符

>>> ord('翯')
32751
>>> chr(32751)
'翯'
>>>

如果知道字符的整数编码,还可以用十六进制来写字符串

>>> '\u7fef'
'翯'
>>>

如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes

Python中对bytes类型数据的用b前缀的单引号或者双引号表示

以Unicode表示的str通过encode()方法可以编码为指定的bytes,例如:

>>> 'hello'.encode('ascii')
b'hello'
>>> '翯'.encode('utf-8')
b'\xe7\xbf\xaf'
>>>

注意:纯英文的str可以用ASCII编码为bytes,内容是一样的,但是含有中文的str不能用ASCII编码
在bytes中,无法显示为ASCII字符的字节,用\x##显示

如果我们从网络或者磁盘上读取了字节流,那么读到的数据bytes,要把bytes转换成str,可以使用decode()方法

>>> b'\xe7\xbf\xaf'.decode('utf-8')
'翯'
>>>

len()函数可以用来计算str包含多少个字符

>>> len('lyh')
3
>>> len('刘羽翯')
3
>>>

len()函数也可以用来计算bytes的字节数

>>> len(b'\xe7\xbf\xaf')
3
>>>

从结果中,我们可以看到一个中文字符经过UTF-8编码后通常会占用3个字节,而一个英文字符只占用一个字节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值