Python中的3种类型的字符串

本文介绍了Python中不同类型的字符串,包括Unicode字符串、非转义原始字符串和bytes字节串,以及它们之间的转换方法。重点讲解了如何通过encode和decode进行Unicode和字节串间的转换,以及如何利用str和bytes函数进行转换操作。
摘要由CSDN通过智能技术生成

小知识:在Python中,不支持字符类型,单个字符也是字符串。

(1)Unicode字符串:不以u/U、r/R、b/B开头的字符串,或以u/U开头的字符串。注意:在输出Unicode字符串时,如果字符串中包含Unicode编码,会自动将其转换成对应的字符。

(2)非转义的原始字符串:以r/R开头的字符串。

(3)bytes字节串:以b/B开头的字符串。

可以使用encode()函数和decode()函数在Unicode字符串和bytes字节串之间转换。或者使用str()函数和bytes()函数在这二者之间转换。

示例1:

s1="abcd"  #不以u/U、r/R、b/B开头的字符串是Unicode字符串
s2=u"ab\u0020\u0020cd"  #以u/U开头的字符串都是Unicode字符串
s3="ab\u0020\u0020cd"  #会将其中的Unicode编码输出成实际字符
print(s1,s2,s3,sep="\n")

运行结果如下图:

 从示例1可以看到,在Unicode字符串中包含的“\u0020"Unicode编码被显示成了其对应的字符,这是Unicode字符串的特性。

示例2:

s1=r"d:\test.text"  #非转义的原始字符串
s2=r"ab\u0020cd"  
print(s1)
print(s2)

 运行结果如下图:

 从示例2可以看到,以r/R开头的非转义字符,虽然有转义字符或Unicode编码,但在输出显示时只会当做普通字符看待。

示例3:

s1="中国"
s1_utf8=bytes(s1,"utf8")  #使用bytes()函数,将Unicode字符串转换成byes字节串。或者使用encode()函数
s1_gbk=bytes(s1,"gbk")
print(s1_utf8)
print(s1_gbk)

print(str(s1_utf8,"utf8"))  #使用str()函数,将byes字节串转换成Unicode字符串。或者使用decode()函数。
print(str(s1_gbk,"gbk"))

运行结果如下图:

 从示例3可以看到,以b/B开头的字节串。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值