当前位置:首页 > 生活百科

python的str方法(讲解python中的str函数用法)

栏目:生活百科日期:2025-05-16浏览:0

最早的字符串编码是美国标准信息交换码,即ASCII码,他仅对10个数字,26个大写英文字母、26个小写英文字母及一些其他符号进行了编码。ASCII码最多只能表示256个符号,每个符号占一个字节。随着信息技术的发展,各国文字都需要进行编码,于是出现了GBK、GB2312、UTF-8编码等。其中GBk和GB2312是我国制定的中文编码标准,使用一个字节表示英文字母,2个字节表示中文字符。而UTF-8是我国通用的编码,对全世界所有国家用到的字符都进行了编码。UTF-8采用一个字节表示英文字符、3个字节表示中文。在Python3.X中。默认采用的编码格式为UTF-8,采用这种编码有效地解决了中文乱码的问题。

在Python中,有两种常用的字符串类型,分别是str和bytes。其中str表示Unicode字符(ASCII码或者其他)bytes表示二进制数据(包括编码的文本)。这两种类型的字符串不能拼接在一起使用。通常情况下,str在内存中以Unicode表示,一个字符对应诺干个字节。但是如果在网络上传输,或者保存到磁盘上,就需要把str转换为字节类型,即bytes类型。

注:bytes类型的数据时带有b前缀的字符串(用单引号或者双引号表示)例如 b&’xd2xb0&’和&’bmr&’都是bytes类型的数据。

str类型和bytes类型之间可以通过encode()和decode()方法进行转换,这两个方法是互逆的过程。

1.使用encode()方法编码

encode()方法为str对象方法,用于将字符串转换为二进制数据(即bytes)也称为编码,其语法格式如下:

str.encode(&[encoding="utf-8"]&[,errors="strict"])参数说明:str:表示要进行转换的字符串encoding="utf-8":可选参数,用于指定进行转码时采用的字符编码,默认为UTF-8,如果想使用简体中文,也可以设置为gb2312。当只有一个参数时,也可省略前面的encoding=,直接写编码。errors="strict":可选参数,用于指定错误处理方式,其可选址值strict(遇到非法字符就抛出异常)ignore(忽略非法字符)、replace(用?替换非法字符)或 xmlcharrefreplace(使用xml的字符引用)等,默认为strict。

注:在使用encode()方法时,不会修改原字符串,如果需要修改原字符串,需要对其进行重新赋值。

例如:

verse='野渡无人舟自横'byte=verse.encode('GBK')print('原字符串:',verse)print('转换后:',byte)

2.使用decode()方法

decode()方法为bytes对象的方法,用于将二进制转换为字符串,即将使用encode()方法转换的结果再转换为字符串,也称为“解码”,语法格式如下:

bytes.decode(&[encoding="utf-8"]&[,errors="strict"])参数说明:bytes:表示要进行转为二进制数据,通过是encode()方法转换后的结果。encoding="utf-8":可选参数,用于指定进行解码时采用的字符编码默认为utf-8,如果想使用简体中文,可以设置为gb2312。当只有一个参数时,可以省略前面的encoding=,直接写编码。
errors="strict":可选参数,用于指定错误处理方式,其可选址值strict(遇到非法字符就抛出异常)ignore(忽略非法字符)、replace(用?替换非法字符)或 xmlcharrefreplace(使用xml的字符引用)等,默认为strict。

注:在使用decode()方法时,不会修改原字符串,如果需要修改原字符串,需要对其进行重新赋值。

例如:上面示例中编码后得到的结果,在这里进行解码:

print('解码后:',byte.decode('GBK'))

“python的str方法(讲解python中的str函数用法)” 的相关文章

java基础入门知识点(java编程自学教程)

不积跬步无以至千里,基础对于Java学习者来说也至关重要,基础打好了才能在这个行业走的更远!那在学习Java的过程中,初学者要不断提升自己的能力,当你有了能力,...

lol露露出装顺序(ad攻速混伤露露出装)

在LOL中璐璐是一个人气颇高的英雄,之所以这么说主要还是因为2个原因。首先璐璐的建模就颇为可爱,不少女孩子都很喜欢她。其次璐璐的技能很完善,不仅有伤害而且还有不...

企业私有云搭建方案(举例详解其搭建方法)

搭建智慧企业体系,实现以人为本的个性化创新服务,构建新的运行模型,解决信息孤岛、数据碎片、业务扩展困难等问题,以适应企业智能化建设长期、可迭代发展。新开普以“联...

nes游戏模拟器哪个好用(最全的java游戏网站)

一说起老游戏,每个人心中都有那么几款印象深刻的作品,《超级马里奥》、《影子传说》、《快打旋风》&…&…虽然它们早就被更现代的手游、网游,...

免费网络推广渠道有哪些,四种免费的网络推广方式

互联网、移动互联网推广方式已经深入人心,绝大部分的公司都需要通过网络来推广自己的产品,对于中小企业创业者来说,付费推广的成本实在太高,而且没有专职的网络推广人员...

8杯水正确喝水时间表以及量,教你科学的一天八杯水时间

水是生命之源,在我们的生命中扮演着至关重要的角色!人人都会喝水,每天都要喝水,但事实上却不是每个人都会有科学饮水的习惯,那么这个时间应该怎么安排呢?一起来了解一...

useragent大全特点(UserAgent在线生成工具使用方法)

大家好呀,不知道你对浏览器有多少了解呢。如果你是一个前端程序员,真的清楚user-agent字段的含义吗?看完这篇文章相信你对浏览器会有更多的了解。起源说到浏览...

jsp网站建设步骤(动态网站构建的服务器端环境)

网站前端:html5jsjqueryajaxcsspsflashjsonxml网站后端(服务器):jspphpasp.net网站组成:运行平台Web服务器和应用...

业务运营主要做什么工作(解读业务运营的基本职责)

框架定义了系统的边界与组件,它是一套体系化的逻辑,支撑着整个系统的运转与迭代。而要构建一套完备的运营框架,需要聚焦哪几个点,一起从文中来看看,业务运营该如何系统...

cad 2008激活码有问题怎么回事(提示激活错误的原因和解

在安装CAD软件的时候,安好了,特开心,但是在激活的时候却提示激活错误,功亏一篑啊方法一:激活前,用管理员身份运行CAD和注册机,按以下步骤激活如果方法一解决不...