字节串的构造函数 bytes
bytes() 生成一个空的字节串等同于b''
bytes(整数可迭代对象) 用可迭代对象初始化了个字符串
bytes(整数n) 生成n个值为0的字节串
bytes(字符串,encoding='utf-8') 用字符串的转换编码生成一个字节串
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
示例: b = bytes() # b绑定 b'' b = bytes([65, 66, 67, 68]) # b=b'ABCD' b = bytes(5) # b='\x00\x00\x00\x00\x00'
bytes 的运算
+ += * *=
< <= > >= == !=
in / not in
索引和切片
注: 运算规则同字符串的运算规则
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
示例: b = b'ABCD' b'BC' in b # True 66 in b # True print(b[0]) # 65 print(b[-1]) # 68
能用于字节串的内建函数
len(x)
max(x)
min(x)
sum(x)
any(x)
all(x)
bytes 和 str 的区别
bytes 用来存储字节(0~255的整数)
str 用来存储unicode字符(0~0x10FFFF的整数)
bytes 与 str 的转换
编码(encode)
str -------------> bytes
b = s.encode(encoding='utf-8')
解码(decode)
bytes -----------> str
s = b.decode(encoding='utf-8')
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
示例: s = 'ABC中文' b = s.encode() # 等同于 b = s.encode('utf-8') s2 = b.decode() # 将字节串解码为字符串
字节数组 bytearray
可变的字节序列
构造函数 bytearray
bytearray() 创建空的字节数组
bytearray(整数n) 生成n个值为0的字节数组
bytearray(整型可迭代对象) 用可迭代对象初始化一个字节数组
bytearray(字符串,encoding='utf-8') 用字符串的转换编码生成一个字节数组
运算:
+ += * *=
< <= > >= == !=
in / not in 运算符
索引 index / 切片 slice
(字节数组的索引和切片可以赋值操作,规则同列表的索引和切片的赋值规则)