Python编程_Lesson003_字符串

本文介绍了计算机编码格式的发展历程,从ASCII到Unicode再到UTF-8,并详细解释了Python中如何处理不同编码格式的字符串,包括ord和chr函数的使用及ASCII与Unicode之间的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编码格式

计算机是由美国人发明的,所以一开始只能显示英文字符串,是ASCII格式编码。后来由于全球各国都在使用计算机,又新出了Unicode编码格式。但是Unicode非常庞大,在本地运行还好,但是对于网络传输简直是太浪费空间了,所以又出现了utf(包括utf-8、utf-16、utf-32)编码格式。
现在一般是使用utf-8编码格式进行网络传输,然后到本机后再解析成Unicode编码,这样就完美的解决了编码带来的问题。
在Python中我们可以:
使用ord函数来获取一个字符的Unicode值;
使用chr函数来获一个Unicode值对应的字符;
这里写图片描述

在Python3.0以上版本中,会默认以Unicode编码,但是有的时候我们需要使用其他的编码格式,这有该如何做呢?请看下面的例子(注意不能是汉字,因为ASCII存放不下一个汉字)
这里写图片描述
我们看到前面有一个b,代表是byte的意思,里面的每一个字符只占一个字节。

我们在进行ASCII和Unicode编码间进行转换的时候,会出现下面的问题
这里写图片描述
这是因为一个byte存放不下一个汉字。

decode和encode之间的转换
这里写图片描述
虽然以上我们都称为字符串,但是存储的意义不一样,带b的字符串和不带b的字符串其实是两个不同的字符串。带b的字符串我们一般认为是bytes的字符串,它是以字节为单位,强调的是一个一个的字节;而不带b的字符串就是一个Unicode的字符串。
由于Python现在越来越接近底层的开发,所以就加上了b开头的字符串。
这里写图片描述
通过上面的例子可以更好的说明这两者的关系。

len函数用来统计字符串中字符的个数
这里写图片描述

下面的现象说奇怪也不奇怪,因为len函数可以根据存储类型来计算字符的格式。
这里写图片描述

bool类型
用于判断

比如下面的任务:
完成一个登陆系统,超过三次登陆失败,程序退出

count = 0;
while (count < 3) :
    name = input("Please Input UserName:")
    pwd = input("Please Input PassWord:")
    if (name == "root") and (pwd == "root"):
        print("Login Success!")
        break
    else :
        if (count < 2) :
         print("Login Failed! And You Have ",2-count ,"times, Please Reload!")
        else :
            print("Login Failed! And You Have No Chance To Reload!")
    count = count+1

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值