字节串和字节数组
字节串bytes (也叫字节序列)
作用:
存储以字节为单位的数据
字节串是不可变的字节序列
字节:
字节是由8个位(bit)组成的数据单位,是计算机进行数据管理的单位
字节是用 0 ~ 255 范围内的整数表示的
字节串的构造函数 bytes
bytes() 生成一个空的字节串 等同于 b''
bytes(整数可迭代对象) # 用可迭代对象初始化一个字节串
bytes(整数n) 生成n个值为0的字节串
bytes(字符串, encoding='utf-8') 用字符串转为编码生成一个字节串
bytes 的运算:
+ += * *=
< <= > >= == !=
in / not in
索引和切片len(x)
max(x)
min(x)
sum(x)
any(x)
all(x)
bytes 和 str 的区别:
bytes 存储字节( 通常值在 range(0, 256))
str 存储unicode字符( 通常值在0~65535)
bytes 与 str 的转换
编码(encode)
str ------------> bytes
b = s.encode(encoding='utf-8')解码(decode)
bytes ----------> str
s = b.decode(encoding='utf-8')
字节数组 bytearray
可变的字节序列
字节数组的构造函数: bytearray
bytearray() 创建空的字节数组
bytearray(整数) 用可迭代对象初始化一个字节数组
bytearray(整型可迭代对象) 生成n个值为0的字节数组
bytearray(字符串, encoding='utf-8') 用字符串的转换编码生成一个字节数组
bytearray 的运算:
+ += * *=
< <= > >= == !=
in / not in
索引和切片
(字节数组支持索引和切片的赋值操作,规则同列表的索引和切片赋值规则)
bytearray的方法:
BA.clear() 清空
BA.append(n) 追加一个字节(n为0~255的整数)
BA.remove(value) 删除第一个出现的字节,如果没有出现,则触发ValueError错误
BA.reverse() 字节顺序反转
BA.decode(encoding='utf-8') # 解码为字符串
BA.find(sub[, start[,end]]) # 查找 sub