Python字符串
1、字符串编码转换
在Python中,有两种常用的字符串,分别为str和bytes。其中,str表示Unicode字符(ASCII或者其他);bytes表示二进制数据(包括编码的文本)。其中str和bytes之间可以通过encode()和decode()方法进行转换,这两个方法互为逆过程。
1.1、使用encode()方法编码
encode()方法为str对象的方法,用于将字符串转换为二进制的数据,语法格式为;
str.encode([encoding="utf-8"][,errors="strict"])
例如,定义一个名称为verse的字符串,使用encode()方法将其采用GBK编码转换为二进制数,并输出原字符串和转换后的内容,
verse='野渡无人舟自横'
byte=verse.encode('GBK')
print('原字符串:',verse)
print('转换后:',byte)
代码输出结果为:
原字符串: 野渡无人舟自横
转换后: b'\xd2\xb0\xb6\xc9\xce\xde\xc8\xcb\xd6\xdb\xd7\xd4\xba\xe1'
1.2 使用decode()方法解码
decode()方法即是用于将二进制数据转换为字符串,语法格式为:
bytes.decode([encoding="utf-8"][,errors="strict"])
2 字符串常用操作
2.1 拼接字符串
使用“+”运算符可完成对多个字符串的拼接,但是字符串不允许直接与其他类型的数据拼接。
str1="今天我一共走了"
num=12890
str2="步"
print(str1+str(num)+str2)
输出结果为:
今天我一共走了12890步
2.2 计算字符串的长度
在Python中,数字、英文、小数点、下划线和空格占一个字节,一个汉字可能会占2~4个字节,汉字在GBK/GB2312编码中占2个字节,在UTF-8/unicode中一般占用3个字节(或4个字节)。可以用len()函数计算字符串的长度,例如:
str="人生苦短,我用Python"
length=len(str)
print(length)
代码执行后,结果为13.
①采用UTF-8编码获取字符串的长度,下面代码运行为“28”(汉字加标点共7个,占21=7*3个字节;英文字母和英文标点占7个字节)。<