bytes # 不可变字节序列
bytearray # 可变字节数组
bytes:
str.encode() -> bytes #对字符串str进行编码,()里不写内容默认以UTF-8编码
bytes.decode() -> str #对bytes进行解码,()里不写内容默认以UTF-8解码
# 使用b前缀定义
# 只允许基本ASCII使用字符形式b‘abc9‘ (例如b‘中‘不可以)
# 使用16进制表示b"\x41\x61"(表示‘Aa‘)
类方法
bytes.fromhex(string) # string必须是2个字符的16进制的形式,‘6162 6a 6b‘,空格将被忽略
例子:bytes.fromhex(‘6162 09 6a 6b00‘)
hex() # 返回16进制表示的字符串 ‘abc‘.encode().hex()
截止到目前为止共学习到5个线性结构
列表、元组、字符串、bytes和bytearray
他们都有以下几个特点:
# 可以索引,可迭代
# len()可以获取长度
# 可以切片
切片 -> new sequence:
sequence[start:stop]
[:] # 表示全部元素被取出,等同于copy()
步长切片:
sequence[start:stop:step]
# 步长默认为1,可以为负整数,但是步长一定要与start:stop同向,否则返回空序列