跳转至

18. 字节串和字节数组

字节串和字节数组

    字节串(字节序列)bytes
        作用
            存储以字节为单位的数据
            字节串是不可变的字节序列

字节

  • 字节是0~255之间的整数,字节是数据传输和数据存储的基本单位
  • (例如:中国移动的流量...,文件大小等)

创建空字节串的字面值

    b''
    b""
    b""""""
    b''''''

创建非空字节串的字面值

    b'ABCD'
    b"ABCD"
    b'\x41\x42'

字节串的构造函数

    bytes()  # 生成一个字的字节串,等同于b''
    bytes(整型可迭代对象)  # 用可迭代对象创建一个字节串
    bytes(整数n)  # 生成n个值为0的字节串
    bytes(字符串, encoding='utf-8')  # 用字符串的转换编码生成一个字节串
# 示例
    b = bytes()
    b = bytes(range(65, 91))
    b = bytes(10)
    b = bytes('hello', encoding='utf-8')
    b = bytes('中文', encoding='utf-8')

字节串的运算

    与其他序列的运算规则相同
        + += * *=
        < <= > >= == !=
        in    not in
        索引和切片

字符串和字节串的区别

bytes 存储字节(0-255)
str 存储字符(用来存储文字信息, 值为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(整数n)  # 生成n个值为0的字节数组
        bytearray(字符串, encoding='utf-8')  # 用字符串的转换编码生成一个字节数组

    字节数组支持索引和切片赋值(重要)