字节串 bytes 和 字节数组 bytearray
字节串 bytes
作用:存储以字节为单位的数据
说明:
字节串是不可变的字节序列
字节是 0-255 之间的整数
不能包含Ascll码之外的内容(不能包含中文)
创建空字节串的字面值:
b'' B''
b'''''' B''''''
b"" B""
b"""""" B"""""""
创建非空字节串的字面值:
b'ABCD'
b'\x41\x41'
字节串的构造函数 bytes
bytes() 生成一个空字节串
bytes(整型可迭代对象) 用可迭代对象初始化一个字节串
bytes(整数n) 生成 n 个值为0的字节串
bytes(字符串,encoding='utf-8') 用字符串的转换编码生成一个字节串
字节串的运算:规则与字符串相同
+ += * *=
< <= > >= == !=
in / not in #只能对整型数操作 如 65 in b'ABC' # True
索引/切片
如:
a = b'123'
b = b'abc'
a + b # b'123abc'
用于序列函数:len , max , min , sum , all , any
bytes 与 str 的区别:
bytes 存储字节(0-255)
str 存储Unicode字符(0-65535)
bytes 与 str 转换:
str ----编码(encode)---> bytes
b = s.encode('utf-8')
str ----解码(decode)---> bytes
s = b.decode('utf-8')
字节数组 bytearray:可变的字节序列
创建字节数组的构造函数:
bytearray() 创建空的字节数组
bytearray(整数)
bytearray(整型可迭代对象)
bytearray(字符串,encoding='utf-8')
注:以上参数等同于字节串
字节数组的运算:规则与列表相同
+ += * *=
< <= > >= == !=
in / not in
索引/切片(字节数组是可变类型,支持索引和切片赋值)
字节数组的方法:
B.clear() 清空字节数组
B.append(n) 追加一个字节(n为0-255的整数)
B.remove(value) 删除第一个出现的字符,如果没有出现,则产生ValueError错误
B.reverse() 字节的顺序进行反转
B.decode(encoding='utf-8') #解码
B.find(查找内容, [开始位置] , [结束位置]) 查找
发表评论