1. 字符串编码转换
ASCII码
:只包含10个数字,26个大小写英文字母等一共256个符号,每个字符占一个字节GBK
:中文标准编码,一个字节表示英文字母,两个字节表示中文字符GB2312
:简体中文UTF-8
:国际通用编码,一个字节表示英文字符,两个字节表示中文字符- Python 3.x 默认采用
UTF-8
编码
1.1 encode() 编码
-
作用:将字符串转换为二进制数据(从str变成bytes,网络传输的是bytes而不是str)
-
语法:
str.encode([encoding='utf-8'],[errors='strict'])
encoding
代表编码方式errors
代表错误处理方式,包含:- strict(遇到非法字符就抛出异常)
- ignore(忽略非法字符)
- replace(用“?”代替非法字符)
- xmlcharrefreplace(使用XML的字符引用)
1.2 decode() 解码
-
作用:将二进制数据转换为字符串
-
语法:
str.decode([encoding='utf-8'],[errors='strict'])
2. 字符串操作
2.1 字符串拼接
- 使用运算符
+
print('今天' + '心情好哇')
2.2 字符串的长度
- 使用方法 len()
print(len('今天' + '心情好哇'))
2.3 字符串支持切片(左闭右开)
s = '今天' + '心情好哇'
print(s[2:6])
2.4 字符串分割与合并
- 分割:从字符串到列表 str.split(分隔符,分割次数)
- 合并:从列表变为字符串 ‘分隔符’.join(可迭代对象如列表)
a = '哦1嘿嘿1哈哈哈'
b = a.split('1') # 按照1分割成列表
c = ''.join(b) # 合并,不需要分隔符
d = '6'.join(b) # 合并,使用'6'进行分隔
print(a)
print(b)
print(c)
print(d)
2.5 字符串检索
- str.count(子字符串,开始下标,结尾下标)
- 返回子字符串在下标范围内出现的次数
a = '1哦1嘿嘿1'
b = a.count('1', 0, 5)
print(b)
- str.find(子字符串,开始下标,结尾下标)
- 返回子字符串首次出现的下标,不存在时返回-1
a = '1哦1嘿嘿1'
b = a.find('1', 3, 6)
print(b)
str.index(子字符串,开始下标,结尾下标)
- 返回子字符串首次出现的下标,不存在时抛出异常
str.startwith(子字符串,开始下标,结尾下标)
- 判断是否以子字符串开头,返回bool值
str.endwith(子字符串,开始下标,结尾下标)
- 判断是否以子字符串结尾,返回bool值
2.6 字母大小写转换
- 转为小写字母 str.lower()
- 转为大写字母 str.upper()
2.7 去除字符串中的空格和特殊字符
- 去除左右两侧的空格和特殊字符 str.strip()
- 去除左右两侧的指定字符 str.strip(要去除的字符)
a = ' 1哦1嘿嘿1 \t \r \n '
b = a.strip() # 去除空格和特殊字符
print(b)
c = b.strip('1嘿') # 去除字符串两边的“1”和“嘿”
print(c)
-
去除左侧的 str.lstrip()
-
去除右侧的 str.rpper()
2.8 格式化字符串
- 使用
%
- 使用 format()
章节2.8待完善(只是简单陈列,等待后续补充说明,这两个方法还有大量表格和参数需要说明)