一. 字节串bytes
字节串bytes也叫字节序列,存储以字节为单位的数据;字节串是不可变的字节序列;字节是0~255的整数,数据传输和存储都是以字节为单位存储的(1byte = 8bit,即1个字节等于8位)。下面的示例,字符串编码后得到的字节串,均是0x00~0xFF之间的整数:
1.1 创建空字节串字面量
1.2 创建非空字节串的字面值
1.3 字节串的构造函数:
- bytes():生成一个空的字节串,等同于b''
- bytes(整型可迭代对象) :用可迭代对象初始化一个字节串
- bytes(整数n) :生成n个值为0的字节串
- bytes(字符串,encoding='utf-8') :用字符串str的转换编码生成一个字节串
1.4 字节串的运算
- + += * *=
- < <= > >= == !=
- in / not in
- 索引 切片
- 函数:len() max() min() sum() any() all()
1.5 bytes 和 str 的区别
- bytes 存储字节(0-255);
- str 存储unicode字符(0-65535或更大);
1.6 bytes 与 str转换
编码(encode)
str------------------------->bytes
b = s.encode(encoding = 'utf-8')
解码(decode)
bytes------------------------->str
s = b.decode(encoding = 'utf-8')
二. 字节数组 bytearray
字节数组是可变的字节序列。
2.1 创建函数bytearray
- bytearray()
- bytearray(整型可迭代对象)
- bytearray(整数n)
- bytearray(字节串,encoding='utf-8')
2.2 运算操作
- + += * *=
- 比较运算:< <= > >= == !=
- in / not in
- 索引 index / 切片 slice
- 字节数组支持索引和切片赋值,规则同列表