网站首页 > 文章精选 正文
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中使用len()函数计算字符串的长度详解》。本知识点主要内容有:在Python中使用len()函数计算字符串在UTF-8编码中的长度和使用len()函数计算字符串在GBK编码中的长度。
在Python中,不同的字符采用的编码不同,所占用的字节数也是不同的。要想计算字符串的长度,先了解字符所占用的字节数。
我们在字符串的编码转换中学过,汉字在GBK/GB2312中一个中文字符,占两个字节。在UTF-8中一般占3个字节(或者4个字节)。
在Python中,提供了len()函数计算字符串的长度,其语法如下:
len(string)
其中,string用于指定要进行长度统计的字符串。
例如,定义一个字符串,内容为“Python是当下最热门的编程语言”,然后应用len()函数计算该字符串的长度,代码如下:
str = 'Python是当下最热门的编程语言' # 定义字符串
a = len(str) # 计算字符串的长度
print(a) # 输出字符串的长度
运行结果为:
17
>>>
从上面的结果可以看出,在默认的情况下,通过len()函数计算字符串的长度时,不区分英文,数字和汉字,所有的字符都认为是一个字符。
但是在实际开发中,需要获取字符串实际所占用的字节数。如果采用gbk或者gb2312编码,则一个汉字占用两个字节;采用utf-8编码,则一个汉字占用3个字节。这时,我们可以通过encode()方法进行编码后再进行获取。
1、采用默认编码UTF-8编码时,获取字符串“Python是当下最热门的编程语言”的长度,代码为:
str = 'Python是当下最热门的编程语言' # 定义字符串
a = len(str.encode('utf-8')) # 计算utf-8编码的字符串的长度
print(a) # 输出字符串的长度
运行结果为:
39
>>>
为什么是39呢?是因为在utf-8的编码中,一个汉字占3个字节,一共11个汉字就是33个字节,加上6个英文字母占6个字节,就是39个字节了。
下面我们在来使用GBK编码的长度时多少?
2、用默认编码GBK编码时,获取字符串“Python是当下最热门的编程语言”的长度,代码为:
str = 'Python是当下最热门的编程语言' # 定义字符串
a = len(str.encode('gbk')) # 计算gbk编码的字符串的长度
print(a) # 输出字符串的长度
运行结果为:
28
>>>
为什么是28呢?因为在GBK的编码中,一个汉字占2个字节,一共11个汉字占22个字节,加上6个英文字母占6个字节,就是28个字节了。
站长在线提醒您,因为UTF-8编码是Python3中的默认编码,在进行计算编码时,可以不用输入。即下面代码也是对的:
str = 'Python是当下最热门的编程语言' # 定义字符串
a = len(str.encode()) # 计算默认编码utf-8编码的字符串的长度
print(a) # 输出字符串的长度
运行结果为:
39
>>>
到此为止,《在Python中使用len()函数计算字符串的长度详解》就讲解完毕了,我们下一个知识点为《在Python中截取字符串(切片)详解》。
- 上一篇: 自学WPS表格28:文本函数(一)
- 下一篇: C(string.h)字符串操作函数总结
猜你喜欢
- 2024-12-31 面试须知:通常都要知道的TCP、HTTP知识点
- 2024-12-31 excel函数——常用的字符串函数(二)
- 2024-12-31 小小的字符串,在PLC编程中不容小觑,到底有何特别 ?
- 2024-12-31 玩转Python—字符串使用教程
- 2024-12-31 vlookup的高阶用法——数据提取,不是很简单,但是很实用
- 2024-12-31 替换函数Substitute,用法大全,值得收藏备用
- 2024-12-31 C++基础算法:统计字符数
- 2024-12-31 Java基础面试:一文看懂String类中的常用方法
- 2024-12-31 老司机归纳-经典SQL语句(二)
- 2024-12-31 32767、8192、255在Excel中这三个数有什么含义?
- 最近发表
-
- Vue3+Django4全新技术实战全栈项目|高清完结
- 工厂模式+策略模式消除 if else 实战
- 每天一个 Python 库:httpx异步请求,让接口测试飞起来
- 如何高效实现API接口的自动化测试?
- 前端工程化:从“手忙脚乱”到“从容协作”的进化记
- 使用C#创建服务端Web API(c#开发web服务器)
- SpringBoot之旅第四篇-web开发(springboot做web项目)
- 一文读懂SpringMVC(一文读懂新型政策性金融工具)
- Rust Web编程:第十二章 在 Rocket 中重新创建我们的应用程序
- Apache Druid 数据摄取——本地数据和kafka流式数据 一篇文章看懂
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)